Ollama — Modelos Locales On-Premise
Guía completa de Ollama en ChatCielo: instala Llama 3.3, Mistral y Qwen 2.5 en tu servidor, expone /v1/chat/completions OpenAI-compatible y conecta a ChatCielo con costo cero por token
Ollama — Modelos Locales On-Premise en ChatCielo
Ollama te permite ejecutar modelos open-source en tu propio servidor — sin enviar ningún dato a OpenAI, Anthropic o Google. Con ChatCielo lo configuras como proveedor compatible con OpenAI vía Base URL apuntando a http://tu-servidor:11434/v1 y endpoint /v1/chat/completions. Ideal para privacidad estricta (salud, legal, finanzas) y para costo cero por token una vez amortizado el hardware.
Elige Ollama cuando la privacidad y la soberanía del dato son innegociables o cuando tu volumen hace que el costo por token en la nube sea prohibitivo. Un servidor con GPU (o incluso CPU para modelos pequeños) atiende miles de conversaciones sin facturar por mensaje.
Por qué Ollama
| Ventaja | Qué significa en la práctica |
|---|---|
| Privacidad total | Tus mensajes, audios y documentos nunca salen de tu infraestructura. Cumple HIPAA, LGPD, secreto profesional y políticas internas de datos sensibles. |
| Costo cero por token | Pagas solo el servidor/GPU — sin contador por mensaje, sin sorpresas a fin de mes. Rentable a partir de ~5.000 conversaciones/mes. |
| API OpenAI-compatible | Expone POST /v1/chat/completions idéntico a OpenAI. ChatCielo lo consume sin adaptadores. |
| Sin dependencia de internet para inferencia | Una vez descargado el modelo, responde offline — útil en entornos con conectividad limitada o regulada. |
| Modelos intercambiables | Cambia entre llama3.3, mistral, qwen2.5 con un solo ollama pull y sin reconfigurar ChatCielo. |
1. Instalación de Ollama en tu servidor
Ollama corre en Linux, macOS y Windows. Para producción recomienda Linux + Docker o binario nativo con GPU NVIDIA (CUDA).
Por defecto Ollama escucha solo en 127.0.0.1:11434. Para que ChatCielo (cloud) alcance tu instancia, exponla en 0.0.0.0:11434 con OLLAMA_HOST=0.0.0.0 y protégela con reverse proxy + API Key (Nginx + Authorization: Bearer o Cloudflare Tunnel). Nunca expongas :11434 directo a internet sin autenticación.
Puertos y endpoints clave
| Endpoint | Método | Para qué |
|---|---|---|
http://TU_IP:11434/api/tags | GET | Lista modelos instalados |
http://TU_IP:11434/api/generate | POST | Generación simple (no chat) |
http://TU_IP:11434/v1/chat/completions | POST | Chat compatible OpenAI — el que usa ChatCielo |
http://TU_IP:11434/v1/models | GET | Lista modelos en formato OpenAI |
http://TU_IP:11434/api/pull | POST | Descarga modelo remoto |
ChatCielo solo necesita POST /v1/chat/completions. Si ese endpoint responde con el JSON estándar choices[0].message.content, la integración funciona aunque uses Qwen, Mistral o Llama.
2. Modelos recomendados para ChatCielo
Meta Llama 3.3 70B — el mejor equilibrio calidad/peso para atención general.
- Ventana 128k tokens, excelente en español neutro, ventas y manejo de objeciones.
- Razonamiento cercano a
gpt-4o-mini/gemini-flashcon costo cero por token. - Variantes:
llama3.3(70B por defecto),llama3.3:70b-instruct-q4_K_Msi necesitas cuantización GGUF para VRAM limitada. - Requiere ~40 GB VRAM en FP16 o ~24 GB en Q4 — una RTX 4090 (24 GB) lo corre en Q4, un servidor con 2×L4 lo corre holgado.
Úsalo como modelo principal si tu servidor tiene GPU de 24 GB+.
| Característica | Llama 3.3 70B | Qwen 2.5 14B | Qwen 2.5 32B | Mistral 7B |
|---|---|---|---|---|
| VRAM Q4 | ~24 GB | ~9 GB | ~20 GB | ~5 GB |
| Ventana | 128k | 32k | 32k–128k | 32k |
| Español | ★★★★★ | ★★★★★ | ★★★★★ | ★★★★ |
| Velocidad | Media (1–2 s) | Rápida (0.8–1.2 s) | Media (1–2 s) | Muy rápida (<1 s) |
| Ideal para | Ventas y soporte general | Multilingüe, código | Calidad premium local | Triaje, FAQ |
3. Configuración en ChatCielo como proveedor compatible OpenAI
ChatCielo no tiene un proveedor "Ollama" separado: se configura como OpenAI (compatible) cambiando el Base URL.
Prepara tu endpoint público
Si ChatCielo corre en la nube y tu Ollama está en un VPS, necesitas una URL pública:
Opción A — Dominio + Nginx (recomendado producción):
Opción B — Cloudflare Tunnel / Tailscale (rápido y seguro, sin abrir puertos):
Opción C — Solo red interna (si ChatCielo es on-premise en la misma VPC):
Crea la integración en ChatCielo
Ve a Canales > Tu canal (WhatsApp / Telegram / WebChat) > Integración IA > OpenAI / ChatGPT.
| Campo | Qué poner para Ollama | Ejemplo |
|---|---|---|
| Proveedor / Tipo | OpenAI (compatible) o OpenAI | — |
| Base URL | Tu endpoint público con /v1 al final | https://ollama.tudominio.com/v1 o http://TU_IP:11434/v1 |
| API Key | Cualquiera si no usas auth, o tu Bearer si lo protegiste | ollama o sk-local-cualquiera — Ollama lo ignora si no hay proxy |
| Modelo | Nombre exacto del modelo en Ollama | llama3.3 , qwen2.5:14b , mistral |
| Prompt del Sistema | Tus instrucciones (ver plantillas abajo) | — |
| Temperatura | 0–2 | 0.3 soporte preciso, 0.6 ventas |
| Max Tokens | 150–4096 | 350–500 para WhatsApp |
| Palabra clave de derivación | hablar con asesor, asesor humano | Frases 2–3 palabras |
Si tu versión de ChatCielo pide Endpoint en lugar de Base URL, pega la URL completa de chat: https://ollama.tudominio.com/v1/chat/completions. Ambas formas son válidas según la versión.
Prueba de extremo a extremo
- En Canales > Integración IA > Probar, envía: "Hola, ¿hacen envíos a Medellín y cuánto tarda?" y verifica que responda.
- Desde tu VPS prueba el mismo endpoint que usará ChatCielo:
- En ChatCielo revisa Atenciones > Panel de Chats con un número de prueba: escribe por WhatsApp y confirma que la respuesta llega sin latencia anómala (<2 s en GPU).
4. Casos de privacidad estricta
Ollama brilla cuando el dato no puede salir de tu perímetro:
- Historiales, resultados de laboratorio y datos de pacientes nunca viajan a un tercero.
- Cumple exigencias de HIPAA / LGPD salud y contratos con obras sociales que prohíben IA en la nube.
- Ejemplo: bot que agenda turnos, entrega resultados ("tu estudio está listo, protocolo
{{protocol}}") y deriva a humano ante síntomas — todo on-premise.
Configura qwen2.5:14b o llama3.3 con prompt que nunca diagnostica, solo orienta y deriva.
Incluso en modo local, registra y audita los prompts/respuestas según tu política de retención. Ollama guarda logs en ~/.ollama/logs y en stdout del servicio — redirígelos a tu SIEM si lo exige cumplimiento.
5. Ventajas de costo cero por token y dimensionamiento
Comparativa para 20.000 conversaciones/mes (8 mensajes promedio)
| Opción | Costo mensual estimado* | Cuándo conviene |
|---|---|---|
| Ollama local en VPS GPU (L4 24 GB) | $120–$250 fijos (servidor) + $0 por token | A partir de ~5.000 conv/mes ya es más barato que GPT-4o mini y sin límite. A 20k conv ahorra 80–95% vs. nube. |
| GPT-4o mini (nube) | $120–$240 | Volumen bajo-medio |
| GPT-4o (nube) | $400–$800 | Calidad premium sin infraestructura |
| DeepSeek-V3 (nube) | $30–$80 | La más barata en nube si no quieres servidor |
- Estimación con prompts de ~400 tokens y respuestas de ~150 tokens. El servidor local se amortiza aunque dupliques el volumen.
Dimensionamiento rápido
| Volumen | Modelo sugerido | Hardware mínimo |
|---|---|---|
| Pruebas / <3.000 conv | mistral:7b o qwen2.5:7b | VPS 4 vCPU + 16 GB RAM (CPU) o T4 16 GB |
| 3.000–15.000 conv | qwen2.5:14b | 1× L4 24 GB o RTX 4090 24 GB |
| 15.000+ conv o Llama 3.3 | llama3.3 (Q4) | 1× L4 24 GB / 2× T4 o A10G |
| Alta concurrencia (50+ simultáneas) | llama3.3 + réplica | 2× L4 con balanceador o Kubernetes |
Estrategia híbrida (recomendada): usa Ollama local para el 80% (triaje, FAQ, ventas simples) y deriva a GPT-4o / Claude en la nube solo para el 20% que necesite razonamiento profundo. Así mantienes privacidad y costo bajo sin sacrificar calidad en cierres complejos.
6. Prompts optimizados para modelos locales
Los modelos open-source necesitan prompts más explícitos que GPT-4o. Esta plantilla funciona bien en Llama 3.3, Qwen 2.5 y Mistral:
Parámetros:
| Escenario | Temperatura | Max Tokens | Modelo |
|---|---|---|---|
| Soporte y FAQ | 0.2–0.3 | 300–400 | mistral o qwen2.5:14b |
| Ventas | 0.4–0.6 | 400–600 | llama3.3 o qwen2.5:32b |
| Derivación / triaje | 0.1–0.2 | 200–300 | mistral (rápido) |
7. Operación, monitoreo y troubleshooting
| Problema | Causa probable | Solución |
|---|---|---|
connection refused en ChatCielo | Ollama no expone 0.0.0.0 o firewall bloquea :11434 | Lanza con OLLAMA_HOST=0.0.0.0 ollama serve y abre el puerto en ufw/SG. Verifica con curl TU_IP:11434/api/tags desde otra máquina. |
model not found | Nombre mal escrito o modelo no descargado | ollama list para ver nombres exactos. Usa llama3.3, qwen2.5:14b, mistral sin mayúsculas. |
| Respuestas muy lentas (>5 s) | VRAM insuficiente → offload a CPU / swapping | Usa cuantización qwen2.5:14b en vez de 32b, o llama3.3:70b-instruct-q4_K_M. Monitorea nvidia-smi y ollama ps. |
| Respuestas en inglés o con alucinaciones | Prompt sin idioma o temperatura alta | Fija en el prompt "Responde siempre en español neutro" y baja temperatura a 0.3. |
413 Payload Too Large o contexto truncado | Histórico muy largo + ventana del modelo superada | Reduce Histórico en ChatCielo a 10–12 mensajes y max_tokens a 350. |
| No deriva a humano | Palabra clave muy corta | Usa frases de 2–3 palabras y verifica en Derivación humana. |
| Quiero cambiar de modelo sin downtime | — | ollama pull nuevo-modelo en el servidor y cambia el campo Modelo en ChatCielo. El cambio es instantáneo; Ollama carga el nuevo modelo al siguiente request (keep-alive). |
Comandos útiles
¿Quieres comparar con pruebas locales antes de comprar GPU? Empieza con LM Studio en tu PC — misma API OpenAI-compatible en http://localhost:1234/v1 pero con interfaz visual y modelos GGUF. Cuando valides el prompt, migra el mismo modelo a Ollama en servidor.
8. Siguiente paso
- Valida tu prompt en local con LM Studio y luego pásalo tal cual a Ollama en producción — la API es idéntica.
- Para base de conocimiento con PDFs sin enviar datos afuera, combina Ollama + Dify on-premise (ver Dify).
- Para automatización con CRM sin IA en la nube, usa N8N (ver N8N) disparando
POST /v1/chat/completionsa tu Ollama.