Разделы документации
Свои LLM-провайдеры
Подключение произвольного OpenAI-совместимого или LiteLLM-провайдера — имя модели, base URL, ключи и переменные окружения.
Когда это нужно
Пользовательская модель («Админка → Языковые модели → Пользовательская модель») подключает провайдера, которого нет в стандартном списке: корпоративный шлюз, vLLM-кластер, GigaChat, YandexGPT или любой сервис с OpenAI-совместимым API. Под капотом Charo использует LiteLLM, поэтому поддерживается всё, что поддерживает LiteLLM.
Формат имени модели
Имя модели задаётся в формате LiteLLM — провайдер/имя-модели:
openai/gpt-4o # любой OpenAI-совместимый API
openai/GigaChat-2-Max # GigaChat через совместимый шлюз
ollama/qwen2.5:14b # локальный Ollama
Для OpenAI-совместимых серверов префикс всегда openai/ — он означает протокол,
а не компанию: конечная точка задаётся полем Base URL.
Поля формы
| Поле | Что указать |
|---|---|
| Название | как провайдер будет виден администраторам |
| Имя модели | в формате провайдер/имя-модели (см. выше) |
| Base URL | адрес API, например https://gigachat.devices.sberbank.ru/api/v1 или http://vllm:8000/v1 |
| API-ключ | ключ провайдера; для локальных серверов можно оставить пустым |
| Переменные окружения | дополнительные параметры LiteLLM (см. ниже) |
Переменные окружения
Некоторым провайдерам нужны дополнительные параметры — они передаются как
переменные окружения LiteLLM в формате КЛЮЧ=значение, по одной на строку:
AZURE_API_VERSION=2024-06-01
VERTEXAI_LOCATION=europe-west4
Какие переменные понимает конкретный провайдер — в справочнике LiteLLM: найдите своего провайдера и раздел «Environment Variables».
Типовые ошибки подключения
«Connection error» при проверке
Base URL недоступен из контейнеров Charo. Частые причины:
- указан
localhost— из контейнера это сам контейнер, а не хост-машина; используйте имя сервиса Docker-сети или IP-адрес хоста; - пропущен путь
/v1в конце URL (для OpenAI-совместимых серверов он обычно обязателен); - API доступен только из определённых сетей — проверьте с сервера командой
curl.
«404 model not found»
Имя модели не совпадает с тем, что отдаёт сервер. Сверьтесь со списком моделей
провайдера — для OpenAI-совместимых серверов его можно получить запросом
GET {base_url}/models.
«401/403» при рабочих запросах, хотя проверка прошла
У ключа не хватает прав на выбранную модель, либо шлюз требует дополнительный заголовок — передайте его через переменные окружения LiteLLM (см. справочник провайдера).
Ответы обрываются на середине
Уменьшите максимальную длину ответа в настройках модели или увеличьте лимиты на стороне провайдера/шлюза (таймауты обратного прокси — частая причина для самостоятельно развёрнутых vLLM).