LangChain modelos ollama

Intermedio
LangChain
LangChain
Actualizado: 09/07/2025

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 generales
  • phi3:mini - Modelo compacto de Microsoft, ideal para recursos limitados
  • qwen3: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

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 consideradas
  • top_k: Número máximo de tokens candidatos a considerar
  • repeat_penalty: Penaliza la repetición de tokens
  • base_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:

Fuentes y referencias

Documentación oficial y recursos externos para profundizar en LangChain

Documentación oficial de LangChain
Alan Sastre - Autor del tutorial

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, LangChain es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.

Más tutoriales de LangChain

Explora más contenido relacionado con LangChain y continúa aprendiendo con nuestros tutoriales gratuitos.

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.