# 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:` (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).