Qué es Ollama, instalación y uso de modelos
Ollama es una herramienta esencial para la ejecución local de modelos de lenguaje (LLMs). Permite correr modelos como Llama 4, Mistral o Phi directamente en tu ordenador, garantizando privacidad total de los datos y eliminando costes por uso de API.
Su diseño simplifica enormemente la gestión de modelos locales, funcionando de manera similar a Docker pero enfocado en IA. Es la solución estándar para desarrollo offline o cuando se maneja información confidencial que no debe salir de la infraestructura local.
Instalación de Ollama
El proceso de instalación es directo y varía ligeramente según el sistema operativo. Puedes descargar el instalador oficial desde ollama.com.
- 1. Instalación:
- macOS/Linux: Generalmente mediante terminal o gestor de paquetes.
- Windows: Ejecutando el instalador
.exeoficial.
Una vez instalado, Ollama funciona como un servicio en segundo plano que expone una API local en el puerto 11434.
- 2. Verificación:
Abre tu terminal y comprueba que el servicio responde correctamente:
ollama --version
Descarga de modelos (Pull)
Ollama no incluye modelos por defecto; debes descargarlos según tus necesidades. El comando pull se encarga de bajar los pesos del modelo a tu máquina.
- 1. Descargar Llama 4:
ollama pull llama4:8b
Este comando descarga la versión de 8 billones de parámetros de Llama 4, un modelo muy eficiente capaz de ejecutarse en la mayoría de portátiles modernos con GPU dedicada.
- 2. Listar modelos disponibles:
Para ver qué modelos tienes ya instalados en tu sistema:
ollama list
Ejecución interactiva
Antes de integrarlo en código, puedes probar el modelo directamente desde la terminal para asegurar su funcionamiento.
ollama run llama4:8b "Explica qué es la recursividad en programación"
Invocar modelos de Ollama en LangChain
LangChain se integra con Ollama a través del paquete langchain-ollama, permitiendo usar tus modelos locales con la misma interfaz que los modelos en la nube de OpenAI o Anthropic.
Instalación del paquete
Necesitas instalar la librería de integración específica:
pip install langchain-ollama
Configuración con ChatOllama
La clase ChatOllama es el componente principal para interactuar con los modelos de chat. Se conecta automáticamente a tu instancia local de Ollama.
- 1. Inicialización básica:
from langchain_ollama import ChatOllama
# Configura el modelo coincidiendo con el nombre del tag en Ollama
llm = ChatOllama(
model="llama4:8b",
temperature=0.7
)
Es crucial que el parámetro model coincida exactamente con el nombre del modelo que descargaste (por ejemplo, llama4:8b).
Invocación del modelo
El uso del modelo local sigue el estándar de LangChain, utilizando el método invoke.
- 1. Invocación simple:
response = llm.invoke("¿Cuáles son los principios SOLID?")
print(response.content)
- 2. Uso con mensajes estructurados:
from langchain_core.messages import HumanMessage, SystemMessage
messages = [
SystemMessage(content="Eres un asistente experto en SQL."),
HumanMessage(content="Escribe una query para obtener los usuarios activos.")
]
response = llm.invoke(messages)
print(response.content)
Parámetros avanzados
Puedes ajustar el comportamiento del modelo local configurando parámetros específicos de generación y rendimiento.
- 1. Configuración detallada:
llm_avanzado = ChatOllama(
model="llama4:8b",
temperature=0.1, # Más determinista
num_predict=512, # Máximo de tokens a generar
top_k=10, # Limitar opciones de tokens
base_url="http://localhost:11434" # URL personalizada si es necesario
)
Embeddings con Ollama
Además de generación de texto, Ollama permite ejecutar modelos de embeddings localmente, lo cual es fundamental para aplicaciones RAG (Retrieval Augmented Generation) completamente privadas.
- 1. Uso de OllamaEmbeddings:
from langchain_ollama import OllamaEmbeddings
embeddings = OllamaEmbeddings(
model="nomic-embed-text"
)
vector = embeddings.embed_query("Texto para convertir a vector")
print(f"Dimensión del vector: {len(vector)}")
Asegúrate de haber hecho ollama pull nomic-embed-text previamente para tener el modelo de embeddings disponible.
Fuentes y referencias
Documentación oficial y recursos externos para profundizar en LangChain
Documentación oficial de LangChain
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
Instalar y configurar Ollama, usar ChatOllama para ejecutar modelos locales, seleccionar modelos apropiados según necesidades, entender las ventajas de ejecución local para privacidad y costes, y trabajar con la API local de Ollama.
Cursos que incluyen esta lección
Esta lección forma parte de los siguientes cursos estructurados con rutas de aprendizaje