Skip to content
BotServBotServ
OllamaAPIHTTPcurlPythonJavaScriptIA local

Usar la API de Ollama

Cómo controlar Ollama a través de la API HTTP local. Ejemplos con curl, Python y JavaScript.

S

schutzgeist

3 min read
Usar la API de Ollama

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érminoSignificado
API endpointDirección donde Ollama está disponible
generateEndpoint para generar texto de una sola vez
chatEndpoint para conversaciones con roles
streamOpción para recibir respuestas en tiempo real, trozo a trozo
promptEntrada 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/generate es para prompts simples, api/chat para conversaciones.
  • Con stream: true obtienes 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
Volver al blog
Share:

Entradas relacionadas