Usar la API de Ollama
Introducción
Ollama ofrece una API HTTP local además de la línea de comandos. Te permite integrar Ollama en tus propias aplicaciones, scripts y flujos de trabajo. Este es el camino para incorporar modelos de lenguaje ejecutados localmente en chatbots, agentes o automatizaciones.
Ollama API - Lo esencial
Después de instalar Ollama, el servidor se ejecuta en segundo plano y expone un endpoint en http://localhost:11434. Puedes consultar modelos, mantener conversaciones y recibir respuestas generadas. La API sigue un esquema HTTP simple que casi cualquier lenguaje de programación puede manejar.
Conceptos y componentes clave
| Término | Significado |
|---|---|
| API endpoint | Dirección donde Ollama está disponible |
| generate | Endpoint para generar texto de una sola vez |
| chat | Endpoint para conversaciones con roles |
| stream | Opción para recibir respuestas en tiempo real, trozo a trozo |
| prompt | Entrada que envías al modelo |
Relevancia práctica
Cuándo usar la API
Cuando quieras usar Ollama no solo en terminal, sino en tu propia aplicación. Los ejemplos incluyen un cliente de chat personalizado, un agente de IA, un script para procesamiento automático de texto, o una integración en n8n.
Iniciar el servidor Ollama
Si el servidor no está en ejecución, inicia con:
ollama serve
Después la API estará disponible en http://localhost:11434. Asegúrate de que el modelo que necesitas ya esté descargado:
ollama pull llama3
Llamada a la API con curl
Una solicitud simple sin historial de conversación se ve así:
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "¿Qué es la IA local?",
"stream": false
}'
Para respuestas en stream, establece "stream": true. Ollama entonces entrega la respuesta en múltiples partes, lo que se ve más fluido.
Llamada a la API con Python
import requests
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "llama3",
"prompt": "Explica la cuantización en dos oraciones.",
"stream": False
}
)
print(response.json()["response"])
Con stream=True lees la respuesta en un bucle:
import requests
import json
response = requests.post(
"http://localhost:11434/api/generate",
json={"model": "llama3", "prompt": "¿Qué es un KV-Cache?", "stream": True},
stream=True
)
for line in response.iter_lines():
if line:
data = json.loads(line)
print(data.get("response", ""), end="")
Llamada a la API con JavaScript
const response = await fetch('http://localhost:11434/api/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'llama3',
prompt: '¿Qué son los tokens?',
stream: false,
}),
});
const data = await response.json();
console.log(data.response);
Usar el endpoint de chat
El endpoint de chat es ideal cuando quieres tener conversaciones con roles:
curl http://localhost:11434/api/chat -d '{
"model": "llama3",
"messages": [
{"role": "user", "content": "Explica la IA local brevemente."}
],
"stream": false
}'
Este formato es compatible con muchos clientes similares a OpenAI y es particularmente adecuado para chatbots.
Consideraciones de hardware, costos y seguridad
La API se ejecuta solo localmente por defecto. Si quieres hacerla accesible en la red o a través de internet, necesitas configurar un proxy inverso, firewall y autenticación. Encontrarás más detalles en el artículo Acceso de red de Ollama.
No hay costos mientras ejecutes Ollama localmente. La velocidad depende del hardware. La ejecución en CPU es lenta, la ejecución en GPU es mucho más fluida.
Más información y temas sobre IA
- El servidor Ollama se ejecuta en
http://localhost:11434. api/generatees para prompts simples,api/chatpara conversaciones.- Con
stream: trueobtienes respuestas en tiempo real. - La API es similar a OpenAI y se integra fácilmente en herramientas existentes.
Para más información sobre instalación, consulta Instalar Ollama y para gestión de modelos, Gestionar modelos de Ollama.
Preguntas frecuentes sobre la API de Ollama
¿Debo iniciar el servidor siempre manualmente?
No. En Linux y macOS, Ollama se inicia automáticamente como servicio después de la instalación. En Windows también se ejecuta en segundo plano. Solo con Docker necesitas iniciar el contenedor.
¿Puedo hacer accesible la API a través de la red?
Sí, usando la variable de entorno OLLAMA_HOST=0.0.0.0:11434 o un proxy inverso. Ten cuidado con la autenticación y el firewall.
¿Qué formato tienen los mensajes de chat?
El endpoint de chat espera un array de objetos con role y content, por ejemplo {"role": "user", "content": "Hola"}.
¿Puedo usar Open WebUI con Ollama?
Sí. Open WebUI se conecta por defecto con la API local de Ollama y proporciona una interfaz de chat moderna en el navegador.
¿Qué tan rápida es la API?
La velocidad depende del tamaño del modelo, cuantización y hardware. Con una GPU que tenga suficiente VRAM, las respuestas suelen estar disponibles en segundos.
Herramientas y recursos adicionales
Para probar la API son útiles curl, Postman o Insomnia. En Python ayudan requests y httpx. Para JavaScript basta una llamada simple con fetch.
Fuentes
- Documentación de la API de Ollama
- Página del proyecto Open WebUI
- Documentación de Fetch de MDN


