Por qué autoalojar GPT4All en un VPS
La fuerza de GPT4All está en ejecutar modelos cuantizados (formato GGUF) de forma eficiente en CPU, sin tarjeta gráfica. Es exactamente lo que hace falta para un VPS estándar. Al alojarlo usted mismo, obtiene un asistente de IA privado del que ninguna consulta sale de su infraestructura: ni sus prompts ni sus documentos internos se envían a un tercero. El modo servidor de GPT4All publica una API que imita la de OpenAI (/v1/chat/completions), lo que permite reutilizar cualquier SDK existente cambiando simplemente la URL base. Usted gestiona su catálogo de modelos en local y elige el que cabe en la RAM de su VPS.
Los beneficios concretos del autoalojamiento
- Funciona en CPU puro: no requiere ninguna GPU, ideal para un VPS clásico.
- API compatible con OpenAI: migración de código trivial (cambio de la URL base).
- Confidencialidad de los prompts y de los documentos: todo permanece en el VPS.
- Sin suscripción ni coste por token: un precio de VPS fijo.
- Elección del modelo según la RAM disponible (de 3 GB a 13 GB según la cuantización).
- Disponibilidad sin conexión: el asistente responde incluso sin acceso a API externas.
Requisitos de hardware y software
GPT4All es deliberadamente frugal, pero sigue dependiendo de la RAM. Un modelo 7B cuantizado en Q4 (por ejemplo, Mistral 7B Instruct) exige unos 8 GB de RAM; uno ligero de 3B se conforma con 4 a 6 GB. Para un uso cómodo, apunte a un VPS de 4 vCPU y 8 a 16 GB de RAM: cuantos más núcleos, más rápida es la generación. Calcule de 4 a 8 GB de disco por modelo GGUF. En cuanto al software: Ubuntu 22.04, Docker (o los binarios Python gpt4all), curl para las pruebas y un subdominio del tipo llm.mondomaine.com. No hace falta ningún controlador GPU.
Despliegue paso a paso
Instalar el runtime
Por SSH, cree un entorno Python e instale el paquete oficial:
pip install gpt4all. También puede contenerizar el conjunto en unDockerfilebasado enpython:3.11-slimpara aislar las dependencias.Descargar un modelo GGUF
Coloque un modelo compatible (por ejemplo,
mistral-7b-instruct-v0.1.Q4_0.gguf) en una carpeta./models. GPT4All puede descargarlo automáticamente en el primer arranque, pero un depósito manual evita las sorpresas de ancho de banda.Arrancar el servidor API
Inicie GPT4All en modo servidor de manera que exponga el endpoint compatible con OpenAI en el puerto
4891. Encuadre el proceso con un servicio systemd o un contenedorrestart: unless-stoppedpara que se reinicie solo.Probar la inferencia
Verifique en local:
curl http://localhost:4891/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"mistral-7b-instruct","messages":[{"role":"user","content":"Bonjour"}]}'. La respuesta debe llegar en unos segundos.Proteger y exponer
Ponga Nginx o Caddy delante del puerto 4891, añada una verificación de clave API (cabecera
Authorization) y active el SSL de Let's Encrypt parallm.mondomaine.com. No exponga nunca el puerto en bruto a Internet sin autenticación.Conectar sus aplicaciones
En cualquier SDK de OpenAI, apunte
base_urlahttps://llm.mondomaine.com/v1y utilice su clave. Sus llamadas existentes funcionan sin reescribir la lógica de negocio.
En un VPS multinúcleo, fije explícitamente el número de hilos (n_threads igual al número de vCPU) para aprovechar toda la CPU: la velocidad de generación lo nota directamente. Si la latencia sigue siendo demasiado alta, baje un escalón de cuantización (Q4 en lugar de Q5) o elija un modelo 3B: la calidad baja poco en tareas de clasificación, de extracción o de respuesta corta, y libera RAM para atender varias peticiones en paralelo.