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 3008
Worker (Procesador)

Nodos remotos que ejecutan Ollama. Se conectan vía WebSocket y procesan los prompts.

Ollama Local

Flujo 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).