Об этом проекте

LLM gateway представляет собой легковесный автономный прокси/роутер, предназначенный для персонального использования одним пользователем на локальном оборудовании. Он динамически управляет несколькими движками, совместимыми с Llama.cpp, автоматически выбирая и запуская соответствующий вариант модели на основе параметров входящего запроса, особенно требований к размеру контекста. Система оценивает использование токенов с помощью автономного токенизатора или эндпоинтов работающего движка, перезапускает движки с оптимизированными конфигурациями при необходимости и отключает простаивающие экземпляры для экономии памяти. Поддерживается настройка через Lua-скрипты (например, example.cfg.lua), где определяются настройки сервера и варианты моделей с различными размерами контекста, путями к бинарным файлам и аргументами запуска. Пользователи могут настроить несколько вариантов для одной модели (например, низкий объем VRAM против высокой производительности) для динамического переключения. Шлюз прослушивает настраиваемые IPv4/IPv6 адреса и предоставляет совместимые с OpenAI API эндпоинты, такие как /v1/chat/completions и /v1/models. Из-за внутренней блокировки одновременно обрабатывается только один запрос. В настоящее время реализован только эндпоинт chat completions и поддерживаются только движки llama.cpp, хотя архитектура допускает расширение. Установка включает установку зависимостей Python через init.bat/sh, редактирование конфигурационных файлов и запуск с помощью run.bat/sh или uv run main.py. ПРЕДУПРЕЖДЕНИЕ: Неправильная конфигурация может привести к исчерпанию памяти или зависанию системы. Конфигурация проверяется при загрузке с помощью встроенных Lua-скриптов. Это экспериментальное программное обеспечение, предназначенное для исследований и тестирования; не рекомендуется для использования в промышленной эксплуатации.