Sobre el proyecto

El LLM gateway es un proxy/router ligero y autónomo diseñado para uso personal de un solo usuario con hardware local. Gestiona dinámicamente múltiples motores compatibles con Llama.cpp, seleccionando y lanzando automáticamente la variante de modelo adecuada según los parámetros de la solicitud entrante, especialmente los requisitos de tamaño de contexto. El sistema estima el uso de tokens a través de un tokenizador independiente o endpoints del motor en ejecución, reinicia los motores con configuraciones optimizadas cuando es necesario y cierra las instancias inactivas para conservar la memoria. Soporta la configuración mediante scripts de Lua (por ejemplo, example.cfg.lua), definiendo los ajustes del servidor y las variantes de modelos con diferentes tamaños de contexto, rutas de binarios y argumentos de inicio. Los usuarios pueden configurar múltiples variantes por modelo (por ejemplo, VRAM baja frente a alto rendimiento) para el cambio dinámico. El gateway escucha en direcciones IPv4/IPv6 configurables y expone endpoints compatibles con la API de OpenAI como /v1/chat/completions y /v1/models. Solo se procesa una solicitud a la vez debido al bloqueo interno. Actualmente implementa únicamente el endpoint de chat completions y soporta solo motores de llama.cpp, aunque la arquitectura permite su extensión. La instalación implica instalar las dependencias de Python a través de init.bat/sh, editar los archivos de configuración y lanzar el sistema con run.bat/sh o uv run main.py. ADVERTENCIA: Una configuración incorrecta puede causar el agotamiento de la memoria o la congelación del sistema. La configuración se valida al cargar mediante scripts de Lua integrados. Este es un software experimental destinado a la investigación/pruebas; no se recomienda para uso en producción.