Qué es ollama, instalación y pull de modelos
Ollama es una herramienta que permite ejecutar modelos de lenguaje grandes (LLMs) directamente en tu máquina local de forma sencilla y eficiente. A diferencia de los servicios en la nube como OpenAI, Ollama te permite trabajar con modelos de código abierto sin necesidad de conexión a internet ni costes por uso, manteniendo la privacidad de tus datos al procesar todo localmente.
La principal ventaja de Ollama radica en su simplicidad de uso. Convierte el proceso complejo de descargar, configurar y ejecutar modelos de IA en comandos simples, similar a como Docker simplifica el despliegue de aplicaciones. Esto lo convierte en una opción ideal para desarrollo, prototipado y casos de uso donde la privacidad es fundamental.
Instalación de Ollama
La instalación de Ollama varía según tu sistema operativo.
En macOS y Linux, puedes instalarlo directamente desde la terminal:
curl -fsSL https://ollama.com/install.sh | sh
Para Windows, descarga el instalador desde la página oficial de Ollama y ejecuta el archivo .exe
. Una vez instalado, Ollama se ejecuta como un servicio en segundo plano, exponiendo una API REST en el puerto 11434 por defecto.
Para verificar que la instalación fue exitosa, ejecuta:
ollama --version
Este comando debería mostrar la versión instalada de Ollama, confirmando que está listo para usar:
Descarga y gestión de modelos
Ollama utiliza un sistema de gestión de modelos similar a Docker Hub. Los modelos se descargan bajo demanda y se almacenan localmente para su reutilización. Para descargar un modelo, utiliza el comando pull
:
ollama pull llama3.2:3b
Este comando descarga el modelo Llama 3.2 en su versión de 3 mil millones de parámetros, que ofrece un buen equilibrio entre rendimiento y recursos necesarios. El formato modelo:tag
permite especificar versiones concretas del modelo.
Algunos modelos recomendados para empezar incluyen:
llama3.2:3b
- Modelo versátil y eficiente para tareas generalesphi3:mini
- Modelo compacto de Microsoft, ideal para recursos limitadosqwen3:4b
- Modelo multilingüe con buen soporte para español
Para ver los modelos disponibles localmente:
ollama list
Ejecución y prueba de modelos
Una vez descargado un modelo, puedes ejecutarlo interactivamente para verificar su funcionamiento:
ollama run llama3.2:3b
Esto inicia una sesión de chat donde puedes interactuar directamente con el modelo. Para salir de la sesión, escribe /bye
o presiona Ctrl+C
.
También puedes realizar consultas directas desde la línea de comandos:
ollama run llama3.2:3b "Explica qué es la programación funcional"
Invocar modelos de ollama en LangChain
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
Para integrar Ollama con LangChain, necesitamos instalar el paquete específico que proporciona la interfaz entre ambas herramientas. LangChain mantiene integraciones separadas para diferentes proveedores de modelos, lo que permite una mejor modularidad y actualizaciones independientes.
Instalación de langchain-ollama
El primer paso es instalar el paquete langchain-ollama
, que contiene las clases necesarias para conectar con el servidor de Ollama:
pip install langchain-ollama
Este paquete incluye tanto ChatOllama
para modelos de chat como OllamaLLM
para modelos de completado de texto. Para la mayoría de casos de uso modernos, utilizaremos ChatOllama
ya que sigue el formato de mensajes estándar de LangChain.
Configuración básica con ChatOllama
La clase ChatOllama
proporciona una interfaz consistente para interactuar con modelos ejecutándose en Ollama. La configuración básica requiere especificar el modelo que queremos utilizar:
from langchain_ollama import ChatOllama
# Configuración del modelo
llm = ChatOllama(
model="llama3.2:3b",
temperature=0.7
)
El parámetro model
debe coincidir exactamente con el nombre del modelo que descargaste previamente con ollama pull
. El parámetro temperature
controla la creatividad de las respuestas, donde valores más altos generan respuestas más variadas.
Invocación directa del modelo
Una vez configurado el modelo, puedes invocarlo directamente utilizando el método invoke()
, que es la forma estándar en LangChain 0.3:
from langchain_core.messages import HumanMessage
# Crear un mensaje
mensaje = HumanMessage(content="¿Cuáles son las ventajas de Python para ciencia de datos?")
# Invocar el modelo
respuesta = llm.invoke([mensaje])
print(respuesta.content)
El método invoke()
acepta una lista de mensajes y devuelve un objeto AIMessage
que contiene la respuesta del modelo. Esta aproximación es compatible con el sistema de mensajes de LangChain y permite construir conversaciones más complejas.
Ejemplo:
Configuración de parámetros avanzados
ChatOllama
permite configurar varios parámetros que afectan el comportamiento del modelo:
llm = ChatOllama(
model="llama3.2:3b",
temperature=0.3,
top_p=0.9,
top_k=40,
repeat_penalty=1.1,
base_url="http://localhost:11434"
)
temperature
: Controla la aleatoriedad (0.0 = determinista, 1.0 = muy creativo)top_p
: Muestreo nucleus, limita las opciones consideradastop_k
: Número máximo de tokens candidatos a considerarrepeat_penalty
: Penaliza la repetición de tokensbase_url
: URL del servidor Ollama (útil si no usa el puerto por defecto)
Embeddings en ollama
Más adelante en RAG exploraremos qué son los embeddings, pero por adelantar, permiten obtener una representación vectorial de un texto. Ollama también permite ejecutar este tipo de modelos de Embeddings:
Aprendizajes de esta lección
- Comprender qué es Ollama y sus ventajas para ejecutar modelos de lenguaje localmente.
- Aprender a instalar Ollama y descargar modelos específicos.
- Configurar y ejecutar modelos Ollama desde la línea de comandos.
- Integrar modelos Ollama con LangChain mediante el paquete langchain-ollama.
- Utilizar funcionalidades avanzadas como manejo de conversaciones, streaming y configuración de parámetros en LangChain.
Completa LangChain y certifícate
Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.
Asistente IA
Resuelve dudas al instante
Ejercicios
Practica con proyectos reales
Certificados
Valida tus conocimientos
Más de 25.000 desarrolladores ya se han certificado con CertiDevs