Свой LLM-эндпоинт
Карточка Custom OpenAI-compatible в Настройки здания → ИИ-ассистент → Добавить LLM подключает Copilot к любому серверу, говорящему на диалекте OpenAI chat: vLLM, LiteLLM, LM Studio, OpenRouter, Together, Fireworks, корпоративный шлюз перед любым из них. Именованные карточки (OpenAI, DeepSeek, Groq, Mistral, Ollama, …) используют тот же адаптер с уже заполненным базовым URL; выбирайте Custom, когда вашего эндпоинта нет в списке.
Что должен уметь эндпоинт
POST {baseUrl}/chat/completionsв формате запроса и ответа OpenAI, включаяtoolsв запросе иtool_callsв ответе. Copilot управляет зданием через вызовы инструментов, поэтому модель без function calling отвечает на вопросы, но никогда не действует.GET {baseUrl}/models— первое, что пробует Проверка подключения. Если он вернёт 404 или 405, проверка переходит к запросу на один токен, так что шлюзы без эндпоинта моделей тоже проходят.- Доступность с платформы. Запросы уходят с API-сервера, на котором работает
tv-api, а не из вашего браузера. Модель на вашем ноутбуке или в частной подсети должна быть маршрутизируема из этого кластера;localhostв базовом URL означает сам API-сервер.
Заполнение карточки
| Поле | Что вводить |
|---|---|
| Base URL | Корень API без завершающего слэша и без /chat/completions: https://llm.example.com/v1, http://vllm.internal:8000/v1. Путь платформа добавляет сама. |
| Model | Точный id модели, который ожидает сервер (meta-llama/Llama-3.3-70B-Instruct, qwen2.5:14b). У карточки Custom нет готового списка; что сервер обслуживает, показывает его ответ /models. |
| API key | То, что сервер ожидает в Authorization: Bearer …. Оставьте пустым для эндпоинтов, которым ключ не нужен: платформа отправит токен-заглушку, и ваш шлюз не должен её отвергать. |
Затем Проверить подключение. Мастер выполняет ту же проверку, что потом будет делать платформа, и при сбое показывает код ошибки вместе с собственным сообщением сервера, если оно было.
За пределами карточки
Кое-что, чего мастер не показывает, доступно при создании конфигурации через API (POST /api/v1/buildings/:buildingId/llm-configs):
extraHeaders— набор дополнительных заголовков, отправляемых с каждым вызовом и с проверкой подключения. Нужен шлюзам, которые аутентифицируют не черезAuthorization(api-keyу Azure OpenAI) или маршрутизируют по заголовку арендатора.- Несколько конфигураций на здание — сохраните более одной и отметьте одну как конфигурацию здания по умолчанию; Copilot использует её, остальные ждут переключения.
Если не работает
Две ошибки, характерные именно для своих эндпоинтов:
MODEL_NOT_FOUNDдля модели, которая точно существует, обычно означает, что базовый URL отличается на один сегмент пути: сервер ответил 404 на…/chat/completions, потому что/v1пропущен или продублирован.PROVIDER_UNREACHABLEдля сервера, который открывается в браузере, означает, что сеть платформы до него не достаёт. Проверяйте из кластера, а не со своей машины.
Всё остальное — ключи, лимиты, тайм-ауты — в справочнике ошибок.