Documentación Técnica del Sistema
Un ecosistema de procesamiento de IA distribuido basado en WebSockets y Ollama.
Servidor Central (Orquestador)
Gestiona las conexiones de los workers, recibe peticiones de clientes y distribuye el trabajo.
Puerto 3008Worker (Procesador)
Nodos remotos que ejecutan Ollama. Se conectan vía WebSocket y procesan los prompts.
Ollama LocalFlujo de Funcionamiento
1. Conexión: El Worker inicia una conexión WebSocket hacia el Servidor.
2. Petición HTTP: Un usuario envía un JSON a
/api/chat.
3. Asignación: El servidor genera un UUID único y envía el prompt a un worker libre.
4. Inferencia: El worker llama a Ollama (Gemma 3) de forma asíncrona.
5. Respuesta: El worker devuelve el texto; el servidor busca la petición original y responde al usuario.
Configuración del Servidor
// Dependencias clave
const wss = new WebSocket.Server({ server });
let workers = []; // Array de conexiones activas
const pendingJobs = new Map(); // Mapa para trackear peticiones HTTP
Configuración del Worker
El worker requiere que Ollama esté corriendo en la misma máquina (puerto 11434).
const OLLAMA_API_URL = 'http://localhost:11434/api/generate';
const MODEL_NAME = 'gemma3:1b';
Endpoints de la API
POST /api/chat
Envía un mensaje para ser procesado por la IA.
Cuerpo (JSON):{ "prompt": "Tu pregunta aquí" }
Respuestas:
- 200 OK: Retorna la respuesta de la IA.
- 503: No hay workers disponibles.
- 504: El worker tardó demasiado (Timeout).