Перейти к содержимому

Свой шлюз для нескольких моделей

«Свой провайдер» в Yttri — это любой сервер, который отвечает на OpenAI-совместимый /chat/completions. Это открывает третий вариант, кроме облака и одной локальной модели: собственный шлюз, который сам решает, куда отправить запрос — к разным облачным провайдерам, к нескольким локальным моделям или к тому и другому сразу — и отдаёт Yttri единую точку входа.

Такие инструменты называют по-разному — роутер, прокси, агрегатор моделей. Самый известный и хорошо документированный — LiteLLM; дальше пример на нём, но принцип одинаков для любого инструмента этого класса.

Файл config.yaml — список моделей и куда их отправлять:

model_list:
- model_name: gpt-4o
litellm_params:
model: openai/gpt-4o
api_key: os.environ/OPENAI_API_KEY
- model_name: claude
litellm_params:
model: anthropic/claude-sonnet-5
api_key: os.environ/ANTHROPIC_API_KEY
- model_name: local-qwen
litellm_params:
model: ollama/qwen2.5
api_base: http://host.docker.internal:11434

Запуск:

Окно терминала
docker run -d \
-p 4000:4000 \
-v $(pwd)/config.yaml:/app/config.yaml \
-e OPENAI_API_KEY=sk-... \
-e ANTHROPIC_API_KEY=sk-ant-... \
ghcr.io/berriai/litellm:main-stable \
--config /app/config.yaml

Настройки → Ассистент → Модели → Добавить провайдера:

Поле Значение
Тип API Chat Completions (OpenAI-совместимый)
Base URL http://localhost:4000
API-ключ ключ, заданный в LiteLLM (master_key в конфиге), если включена авторизация

Список моделей после подключения — это model_name из вашего config.yaml (gpt-4o, claude, local-qwen в примере выше), а не оригинальные имена моделей у их провайдеров.