Tutorial completo de Ollama: Instalación y uso de modelos locales
¿Qué es Ollama?
Ollama es una herramienta que permite ejecutar modelos de lenguaje grandes (LLMs) localmente en tu computadora, sin necesidad de conexión a internet constante. Soporta modelos como Llama 3, Mistral, Gemma, y muchos otros.
Instalación de Ollama
Windows
Descarga el instalador:
Ve a ollama.com
Haz clic en "Download for Windows"
Ejecuta el instalador descargado
Instalación alternativa (Winget):
winget install Ollama.OllamaIniciar Ollama:
Busca "Ollama" en el menú Inicio
O ejecuta en PowerShell:
ollama serve
macOS
# Descarga e instalación directa
brew install ollama
# Iniciar el servicio
ollama serveLinux
# Instalación con curl
curl -fsSL https://ollama.com/install.sh | sh
# O manualmente
# Descargar el binario
curl -L https://ollama.com/download/ollama-linux-amd64 -o ollama
chmod +x ollama
sudo mv ollama /usr/local/bin/
# Iniciar como servicio
sudo systemctl enable ollama
sudo systemctl start ollamaUso básico de Ollama
1. Listar modelos disponibles
ollama list2. Descargar/pull un modelo
# Modelos populares:
ollama pull llama3.2 # Llama 3.2 (3B parámetros)
ollama pull llama3.2:1b # Versión más pequeña
ollama pull mistral # Mistral 7B
ollama pull gemma:2b # Gemma 2B
ollama pull codellama:7b # Especializado en código
ollama pull phi # Microsoft Phi3. Ejecutar un modelo
# Ejecutar en modo interactivo
ollama run llama3.2
# Con un prompt específico
ollama run llama3.2 "Hola, ¿cómo estás?"
# Especificar parámetros
ollama run llama3.2 --verbose4. Chat interactivo
Una vez dentro del modelo:
>>> Hola, ¿puedes ayudarme con matemáticas?
>>> ¿Cuál es la capital de Francia?
>>> /bye # Para salir5. Ver información del modelo
ollama show llama3.2 --modelfileEjemplos prácticos
Ejemplo 1: Conversación básica
ollama run mistral
# Luego en el prompt:
# > Escribe un poema corto sobre el mar
# > Traduce esto al francés: "Buenos días, ¿cómo estás?"Ejemplo 2: Procesamiento de archivos
# Usar contenido de un archivo como prompt
cat documento.txt | ollama run llama3.2 "Resume este texto:"Ejemplo 3: API REST
Ollama incluye una API REST:
# Consultar modelos disponibles
curl http://localhost:11434/api/tags
# Generar texto
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "¿Por qué el cielo es azul?",
"stream": false
}'
# Chat completions (similar a OpenAI API)
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{"role": "user", "content": "Hola"}
]
}'Ejemplo 4: Python con Ollama
import requests
import json
def ask_ollama(prompt, model="llama3.2"):
response = requests.post(
'http://localhost:11434/api/generate',
json={
"model": model,
"prompt": prompt,
"stream": False
}
)
return response.json()['response']
# Uso
respuesta = ask_ollama("Explica la teoría de la relatividad en términos simples")
print(respuesta)Modelos recomendados para empezar
| Modelo | Tamaño | Uso recomendado | Comando |
|---|---|---|---|
| Llama 3.2 | 1B, 3B | General, buen equilibrio | ollama pull llama3.2 |
| Mistral | 7B | Razonamiento, instrucciones | ollama pull mistral |
| Gemma | 2B | Rápido, eficiente | ollama pull gemma:2b |
| Phi | 2.7B | Educativo, diálogo | ollama pull phi |
| CodeLlama | 7B | Programación | ollama pull codellama:7b |
Parámetros avanzados
Ejecutar con opciones específicas:
ollama run llama3.2 --temperature 0.7 --num-predict 256Variables disponibles:
--temperature: Controla la creatividad (0.0-1.0)--seed: Para resultados reproducibles--num-predict: Límite de tokens de respuesta--top-k: Control de vocabulario--top-p: Control de probabilidad acumulada
Crear modelos personalizados
1. Crear un Modelfile:
FROM llama3.2
# Ajustar parámetros
PARAMETER temperature 0.8
PARAMETER num_predict 512
# Agregar mensajes del sistema
SYSTEM """
Eres un asistente útil especializado en historia mexicana.
Responde siempre en español formal.
"""2. Construir el modelo personalizado:
ollama create mi-modelo-historia -f ./Modelfile3. Usar tu modelo:
ollama run mi-modelo-historiaSolución de problemas comunes
Error: "ollama is not recognized"
# En Windows, agregar al PATH
setx PATH "%PATH%;C:\Users\<tu_usuario>\.ollama\bin"
# Reiniciar terminalModelo no descarga
# Ver logs
ollama serve
# Forzar descarga
ollama pull llama3.2 --insecureMemoria insuficiente
Usa modelos más pequeños (1B, 2B, 3B)
Reduce
--num-predictCierra otras aplicaciones
Integraciones
Con Visual Studio Code:
Instala extensión "Continue"
Configura Ollama como proveedor
Con Open WebUI (interfaz web):
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:mainAccede en: http://localhost:3000
Comandos útiles de mantenimiento
# Actualizar Ollama
ollama upgrade
# Eliminar un modelo
ollama rm nombre-modelo
# Ver espacio usado
ollama list
# Ver logs
ollama serve # Mostrará logs en tiempo realConsejos para mejores resultados
Especifica el idioma: Siempre indica que quieres respuesta en español
Sé explícito: Describe claramente lo que necesitas
Proporciona contexto: Da información relevante antes de preguntar
Experimenta con parámetros: Ajusta temperature según necesites precisión o creatividad
Usa modelos especializados: Para código, usa CodeLlama; para diálogo, Phi o Llama
Recursos adicionales
Documentación oficial: github.com/ollama/ollama
Modelos disponibles: ollama.com/library
Comunidad: Subreddit r/Ollama
Comentarios
Publicar un comentario