Skip to content

Свой 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 для сервера, который открывается в браузере, означает, что сеть платформы до него не достаёт. Проверяйте из кластера, а не со своей машины.

Всё остальное — ключи, лимиты, тайм-ауты — в справочнике ошибок.

Создано на платформе Tango Vision. Вопросы? developers@tango.vision