Automatizar tu negocio con Ollama en el VPS: IA local, coste cero, control total
Cada llamada a GPT-4 te cuesta dinero. Cada dato que mandas a una API externa es un dato que no controlas. Si tienes un VPS con 8 GB de RAM y quieres automatizar procesos reales —scraping, redacción, clasificación, resúmenes— puedes hacerlo hoy mismo con Ollama, sin depender de OpenAI ni de ningún tercero.
Aquí tienes el stack exacto para montar Ollama en tu VPS, conectarlo a tus automatizaciones y empezar a ahorrar entre un 60% y un 90% en costes de inferencia, según el volumen de peticiones que manejes.
---
Qué es Ollama y por qué lo usas en un VPS
Ollama es un runtime que te permite ejecutar modelos LLM de forma local: `qwen2.5:7b`, `llama3.1:8b`, `mistral:7b`, entre otros. Lo instalas en tu servidor, expones un endpoint HTTP en el puerto 11434 y cualquier script tuyo lo consume como si fuera una API externa, pero sin latencia de red y sin coste por token.
La ventaja real no es técnica, es económica. Un modelo de 7B parámetros en un VPS de 16 GB RAM (≈ 12€/mes en Hetzner o Contabo) procesa entre 20 y 50 tokens por segundo. Para tareas de negocio como clasificar leads, generar borradores o resumir documentos, eso es más que suficiente.
---
Instalación en menos de 10 minutos
```bash
Instala Ollama
curl -fsSL https://ollama.com/install.sh | shDescarga el modelo (ajusta según tu RAM disponible)
ollama pull qwen2.5:7b # ~4.5 GB, funciona con 8 GB RAM ollama pull llama3.1:8b # ~4.7 GB, mejor razonamientoVerifica que el servidor arranca
ollama serve & curl http://localhost:11434/api/tags ```Si usas PM2 para mantener procesos vivos, añade Ollama como proceso gestionado:
```bash pm2 start "ollama serve" --name ollama --no-autorestart pm2 save ```
Con esto tienes el modelo disponible en cada reinicio del VPS sin intervención manual.
---
Conectar Ollama a tus scripts Node.js o Python
El endpoint `/api/generate` acepta JSON y devuelve JSON. Sin SDK, sin dependencias extra:
```javascript // Node.js ESM — llamada directa a Ollama local async function preguntarOllama(prompt) { const res = await fetch('http://localhost:11434/api/generate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ model: 'qwen2.5:7b', prompt, stream: false }) }); const data = await res.json(); return data.response; }
const resumen = await preguntarOllama('Resume este contrato en 3 puntos clave: ...'); ```
En Python, la misma lógica con `httpx` o `requests`. El tiempo de respuesta típico para un prompt de 200 tokens es de 4-8 segundos en un VPS de 4 vCPU. Planifica tus colas de trabajo en consecuencia.
---
Casos de uso reales para automatizar tu negocio
Estos son los tres patrones que más ROI generan con Ollama en un VPS:
1. Clasificación de leads entrantes Recibes un formulario, mandas el texto a Ollama con un prompt de clasificación y obtienes una etiqueta: `caliente / tibio / frío`. Coste: 0€. Con GPT-3.5 serían ≈ 0,002$ por clasificación — asumible unitariamente, pero caro a 10.000 leads/mes.
2. Redacción de borradores en lote Tienes un CSV con 500 productos y necesitas descripciones para e-commerce. Un script que itere el CSV y llame a Ollama genera 500 borradores en ≈ 45 minutos. El mismo trabajo con Claude Sonnet cuesta ≈ 3-5€. Con Ollama, cero.
3. Resumen automático de documentos PDFs de contratos, informes, correos largos. Extraes el texto, lo partes en chunks de 2.000 tokens y mandas cada chunk a Ollama con instrucciones de resumen jerárquico. El resultado lo guardas en base de datos para búsqueda posterior.
---
Gestión de timeouts y fallback a Gemini Flash
El punto débil de los modelos locales es la latencia. Si el VPS está bajo carga alta, Ollama puede tardar 30-60 segundos en responder. Implementa siempre un timeout con fallback:
```javascript async function iaConFallback(prompt) { const controller = new AbortController(); const timeout = setTimeout(() => controller.abort(), 15000); // 15s máximo
try { const res = await fetch('http://localhost:11434/api/generate', { method: 'POST', body: JSON.stringify({ model: 'qwen2.5:7b', prompt, stream: false }), signal: controller.signal }); clearTimeout(timeout); return (await res.json()).response; } catch { clearTimeout(timeout); // Fallback a Gemini Flash (coste mínimo, no cero) return await geminiFlash(prompt); } } ```
Esta arquitectura te garantiza disponibilidad sin depender al 100% de la carga del servidor.
---
Monitorización: saber cuándo Ollama falla
Si tienes PM2 y un sistema de alertas vía Telegram, añade un healthcheck que verifique el endpoint cada 5 minutos:
```javascript // healthcheck-ollama.cjs — ejecutado por PM2 o cron const check = await fetch('http://localhost:11434/api/tags').catch(() => null); if (!check?.ok) { await telegramAlert('⚠️ Ollama caído — fallback activo'); // pm2 restart ollama si procede } ```
Sin monitorización, no sabes cuándo tu automatización está usando la API de pago en lugar del modelo local.
---
Qué necesitas para empezar hoy
- VPS con mínimo 8 GB RAM (16 GB recomendado para modelos 7B sin swap)
- Ubuntu 22.04 / Debian 12
- Node.js 18+ o Python 3.10+
- PM2 para gestionar procesos
- 20 minutos de configuración inicial