llm-proxy

Прозрачная прослойка/роутер OpenAI API. Принимает /v1/chat/completions и /v1/models, маршрутизирует между объявленными в YAML апстримами по внутреннему учёту конкурентности и мержит patch-слои (provider → upstream → model) в тело запроса. Подробная спецификация конфига — в CONFIG.md.

Конфиг

Конфигурация — в YAML-файле (по умолчанию config.yaml в каталоге проекта, CWD; переопределяется env CONFIG_PATH). Три блока: providers, upstreams, models. Старый механизм env-переменных (UPSTREAM_URL, ROUTER_API_KEY, EXCLUDED_PROVIDERS, THINKING_MODELS) удалён — его поведение теперь в декларативном patch и блоке upstreams.

Переменная Default Описание
PORT 8100 Порт сервера
CONFIG_PATH config.yaml (CWD) Путь к YAML-конфигу

Сборка и деплой

  • CI (Gitea Actions, на release): ./gradlew shadowJar → образ images.binom.pw/llm-proxy:<tag> (zot).
  • Запуск на 76.179 (llm-router): podman-compose up -d из podman-compose.yaml (образ тянется из images.binom.pw, сеть bifrost_default — туда же Bifrost ходит по имени llm-proxy).
  • Bifrost: в config_providers провайдера Routerai network_config_json.base_url = http://llm-proxy:8100 (после смены — рестарт bifrost_gateway).
S
Description
OpenAI-прослойка перед RouterAI (provider.ignore + no-think)
Readme 625 KiB
14 Latest
2026-09-14 22:06:15 +00:00
Languages
Kotlin 99.9%