Consultoría IA para empresas — 100% remoto, trabajamos con tu equipo in-house

Inicio/Blog/API de Ollama en 2026: cómo conectar tus modelos locales a tus apps (Python y JavaScript, con ejemplos)
Volver al Blog
Tutoriales IA16 de septiembre de 202610 min

API de Ollama en 2026: cómo conectar tus modelos locales a tus apps (Python y JavaScript, con ejemplos)

Tutorial: cómo usar la API de Ollama para conectar tus modelos locales a tus propias aplicaciones en Python y JavaScript. Endpoints, streaming, embeddings, multimodal y los errores típicos al pasar de localhost a un servidor compartido.

En una frase: Ollama expone una API REST en http://localhost:11434 compatible en gran parte con el formato de OpenAI, así que conectar tus modelos locales a cualquier app — Python, JavaScript, o la herramienta que sea — son unas líneas de código, y el trabajo de verdad está en el streaming, los embeddings y la concurrencia que cubrimos aquí.

Los endpoints que importan

EndpointQué haceCuándo usarlo
POST /api/chatConversación con contexto de mensajesChat, agentes, apps conversacionales
POST /api/generateCompletar un prompt únicoTareas de una sola pasada (resumir, extraer)
POST /api/embeddingsVectorizar textoBúsqueda semántica, RAG
GET /api/tagsModelos instaladosDiagnóstico, menús dinámicos

Python: de hola mundo a streaming

python
1import requests
2 
3# Chat básico
4r = requests.post("http://localhost:11434/api/chat", json={
5 "model": "qwen3:8b",
6 "messages": [{"role": "user", "content": "Resume este contrato en 5 puntos: ..."}],
7 "stream": False,
8})
9print(r.json()["message"]["content"])

Para respuestas largas, siempre streaming (el usuario ve la primera palabra en ~100 ms y la experiencia cambia):

python
1import json
2 
3with requests.post("http://localhost:11434/api/chat", json={...}, stream=True) as r:
4 for line in r.iter_lines():
5 chunk = json.loads(line)
6 print(chunk.get("message", {}).get("content", ""), end="", flush=True)

Embeddings para búsqueda semántica

python
1r = requests.post("http://localhost:11434/api/embeddings",
2 json={"model": "nomic-embed-text", "prompt": texto})
3vector = r.json()["embedding"] # guárdalo en tu vector DB

Con esto ya puedes montar búsqueda sobre tus documentos: vectoriza tus textos, guarda en una base vectorial y busca por similitud antes de pasar el contexto al chat.

JavaScript/TypeScript: el cliente oficial

javascript
1import { Ollama } from 'ollama';
2 
3const ollama = new Ollama({ host: 'http://localhost:11434' });
4 
5const stream = await ollama.chat({
6 model: 'llama3.2',
7 messages: [{ role: 'user', content: 'Explica qué es un RAG en 3 frases' }],
8 stream: true,
9});
10 
11for await (const chunk of stream) {
12 process.stdout.write(chunk.message.content);
13}

El paquete oficial ollama para Node y el de Python (ollama-python) manejan streaming, formatos JSON estructurados y cancelación — mejor que peticiones REST a mano si la app es seria.

Los 3 errores típicos al salir de localhost

  1. Timeouts silenciosos en la primera petición: si el modelo no está cargado en VRAM, la primera llamada tarda 5-30 s. En producción, un "warm-up" al arrancar la app o un keep_alive calibrado evita el pánico.
  2. Concurrencia no configurada: por defecto Ollama serializa peticiones. Para una app con varios usuarios, ajusta OLLAMA_NUM_PARALLEL y mide: más paralelismo reparte la misma VRAM, no la multiplica.
  3. Llamar a la API desde el navegador: si tu frontend llama directo a Ollama, expones tu servidor a cualquiera. La API va detrás de tu backend o de un proxy con autenticación.

Si estás operando Ollama para un equipo (no solo para tu portátil), la guía de operación para IT — actualización de modelos sin downtime, GPU compartida, seguridad de la API — la ha publicado Javier Santos Criado en javadex.es y cubre justo la parte que este tutorial no toca.

Preguntas frecuentes

¿La API de Ollama es compatible con la de OpenAI?

En gran parte sí: Ollama ofrece un endpoint compatible con el formato OpenAI (/v1/chat/completions), lo que permite reutilizar SDKs y librerías que ya hablan con OpenAI apuntándolos a tu servidor local.

¿Puedo usar la API de Ollama en producción?

Sí, con los controles adecuados: no exponer el puerto a internet, autenticación en un proxy delante, concurrencia calibrada a la VRAM y monitorización. La instalación por defecto está pensada para desarrollo local.

¿Qué modelo uso para embeddings con Ollama?

nomic-embed-text es el estándar de facto por calidad y tamaño; también hay opciones multilingües si trabajas con textos en español con mucho vocabulario específico. El embedding va a una base vectorial y de ahí a tu capa de búsqueda o RAG.

¿Cómo hago que Ollama devuelva JSON estructurado?

Tanto la API como los SDK oficiales aceptan un parámetro format: "json" (o un esquema en versiones recientes). Útil para extracción de datos: el modelo devuelve JSON parseable en vez de prosa que hay que limpiar.

Posts Relacionados

JS

Javier Santos Criado

Consultor de IA y Automatización | Fundador de Javadex

Experto en implementación de soluciones de Inteligencia Artificial para empresas. Especializado en automatización con n8n, integración de LLMs, y desarrollo de agentes IA.

¿Te ha servido este análisis?

Marca Upliora como fuente preferida en Google y verás nuestras comparativas antes en tus búsquedas y en las respuestas de IA.

Seguir en Google

¿Crees que la IA puede ayudar a tu empresa?

Agentes, automatizaciones y asistentes con tus datos, montados llave en mano. Cuéntanos qué quieres resolver.

Contacta

¿Quieres más contenido de IA?

Explora nuestras comparativas y guías

Consultoría y formación en IA para empresas

Implementamos soluciones de inteligencia artificial adaptadas a tu negocio. Proceso 100% remoto — trabajamos con tu equipo in-house sin que tengas que desplazarte.

Sesión de 30 min · Sin compromiso