Ollama: introduccion e instalacion
Ollama es una herramienta para ejecutar modelos de lenguaje (LLM) en local con una CLI y una API HTTP. Descarga, gestiona y sirve modelos cuantizados sin depender de APIs cloud en cada peticion.
Capitulos
- Introduccion e instalacion
- Modelos locales
- API de Ollama
- Modelfiles
- Integracion con aplicaciones
- Rendimiento
- Buenas practicas
Que problema resuelve
Sin Ollama:
- Cada proveedor cloud tiene SDK, precios y limites distintos.
- Datos sensibles salen a Internet en cada prompt.
- Probar modelos implica cuentas, claves y facturacion.
Con Ollama:
txt
ollama pull modelo -> ollama run / API :11434 -> respuestas localesIdeal para desarrollo, RAG privado, demos offline y prototipos sin coste por token.
Conceptos clave
| Concepto | Descripcion |
|---|---|
| Modelo | Pesos + plantilla de chat (p. ej. llama3.2, mistral) |
| Tag | Variante o tamano (llama3.2:1b, llama3.2:3b) |
| Cuantizacion | Compresion de pesos (Q4, Q5, Q8) para ahorrar RAM/VRAM |
| Daemon | Servicio en http://127.0.0.1:11434 |
| Modelfile | Receta para crear un modelo personalizado |
Instalacion
Windows
Descarga el instalador desde ollama.com o:
powershell
winget install Ollama.OllamaTras instalar, el servicio arranca en segundo plano.
macOS
bash
brew install ollama
# o descarga .dmg desde ollama.comLinux
bash
curl -fsSL https://ollama.com/install.sh | shVerifica:
bash
ollama --version
ollama listSi el daemon no responde:
bash
ollama serveEn Linux suele quedar como servicio systemd (systemctl status ollama).
Ejemplo minimo
bash
ollama pull llama3.2:1b
ollama run llama3.2:1b "Explica que es un LLM en una frase"Desde otra terminal, misma respuesta via API:
bash
curl http://localhost:11434/api/generate -d "{
\"model\": \"llama3.2:1b\",
\"prompt\": \"Di hola en una frase\",
\"stream\": false
}"Docker (opcional)
bash
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
docker exec -it ollama ollama pull llama3.2:1bCon GPU NVIDIA anade --gpus=all y los drivers del host.
Errores comunes
- Puerto
11434ocupado: cambia conOLLAMA_HOST=0.0.0.0:11435. connection refused: el daemon no esta en marcha (ollama serve).- Modelo no encontrado: falta
ollama pullo el tag esta mal escrito. - En WSL2, Ollama en Windows y el cliente en Linux pueden no verse; unifica entorno o usa la IP del host.
- Espacio en disco insuficiente: los modelos ocupan de cientos de MB a varios GB.
Buenas practicas iniciales
- Empieza con un modelo pequeno (
1b/3b) para validar el entorno. - Fija el tag exacto en scripts (
llama3.2:1b, no solollama3.2si importa reproducibilidad). - No expongas
11434a Internet sin autenticacion o proxy. - Separa modelos de prueba y de uso diario (
ollama list/ollama rm). - Documenta version de Ollama y modelos en el README del proyecto.
Ejercicio
- Instala Ollama y comprueba
ollama --version. - Haz
pulldellama3.2:1by ejecuta un prompt conrun. - Repite la misma pregunta con
curla/api/generateystream: false. - Lista modelos con
ollama listy elimina uno de prueba conollama rm.
Siguiente paso
El capitulo 2 cubre catalogo de modelos, tags, cuantizacion y gestio diaria con la CLI.
