La base es una máquina propia dedicada al cómputo, que pasa el día con modelos enteros mapeados en memoria. Elegí el equipo por la memoria disponible y no por la velocidad, y eso condiciona todo lo que viene después en esta ficha.
Ahí está la razón de ser del proyecto: un modelo de 125 mil millones de parámetros, incluso cuantizado a tres bits, no entra en una sola tarjeta de consumo. Con una sola habría que servir un modelo cuatro veces más pequeño, y un modelo cuatro veces más pequeño es otro producto. El formato GGUF permite además que el excedente se descargue a la memoria principal, así que hay margen para subir la cantidad de contexto sin tocar el modelo.
Sobre eso corren varios servicios en contenedor, cada uno con su volumen de datos independiente. El principal es el servidor de inferencia en GPU con API compatible con OpenAI: un único endpoint al que se puede llamar con cualquier cliente que ya exista. El resto son servicios de desarrollo y de automatización que consumen ese mismo endpoint. Viven aquí y no se publican.
La segunda máquina resuelve un problema distinto. Un servicio en 192.168.x.x:8000 no se le puedes explicar a nadie, y en cuanto cambias un contenedor de puerto se rompe todo lo que depende de él. Con un proxy inverso que da un dominio a cada servicio, los proyectos apuntan a un nombre estable y el mapeo interno cambia sin que nadie se entere. La separación entre las dos máquinas es deliberada: reiniciar el servidor de cómputo para probar algo no debería tumbar la puerta de entrada, y viceversa.
proyecto variable de entorno ruta
CRM Java MRM_OLLAMA_BASE_URL → /v1 (apagable con un flag)
rascadores de clientes LOCAL_LLM_BASE_URL → /v1/chat/completions
demo de RAG OLLAMA_URL
juego con modo IA host del proveedor local
↓ una sola forma de llamar, local o comercial
servidor de inferencia en GPU · API compatible con OpenAI
modelo GGUF de 125 B · cuantizado