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

Обзор провайдеров

Провайдеры — это то, как NeoTavern общается с внешними AI-сервисами: языковыми моделями, синтезом речи, распознаванием речи и генерацией изображений.

Единый контракт адаптера

Каждый провайдер — совместимая с OpenAI чат-конечная точка, нативное подключение Anthropic, сообщественный backend вроде NovelAI или KoboldAI или зарегистрированный плагином сервис — реализует один и тот же контракт ProviderAdapter из @neotavern/provider-sdk. Ядро конвейера знает только этот контракт, поэтому приложение не привязано ни к одному вендору.

Адаптер должен поддерживать:

  • Проверку конфигурации.
  • Перечисление доступных моделей.
  • Отмену через AbortSignal.
  • Единый поток событий генерации.
  • Нормализованные ошибки.
  • Таймауты.
  • Логирование без секретов.
  • Регистрацию через Plugin SDK.

Поскольку конвейер видит одну форму независимо от вендора, такие функции, как стриминг, контекст-шифтинг и обработка ошибок, работают одинаково у всех провайдеров. Точные требования см. в Контракт адаптера.

Поставляемые адаптеры

Дистрибутив поставляет адаптеры для совместимых с OpenAI конечных точек, Anthropic, конечных точек text-completion, NovelAI, KoboldAI, AI Horde и локальный echo-адаптер. Каждый документирован в Адаптеры.

Локальная оценка токенов

Подсчёт токенов локальный и офлайн. Точные токенизаторы (tiktoken, SentencePiece или JSON-токенизатор Hugging Face) могут регистрироваться для каждой модели, в том числе плагинами провайдеров; пока точный токенизатор не зарегистрирован, хост использует эвристику с учётом письменности и помечает подсчёт как приближённый.

Расширение провайдеров

Ядро сознательно свободно от зависимостей от SDK вендоров. Новые провайдеры добавляются написанием адаптера и его регистрацией:

  • Основные провайдеры регистрируются через ProviderRegistry в @neotavern/provider-sdk.
  • Провайдерные плагины регистрируются через backend-API Plugin SDK (api.providers.register(kind, factory)), что требует разрешения providers.register. Регистрация возвращает функцию очистки и автоматически удаляется при деактивации плагина.

Это документированный путь для приватной конечной точки, самодеплоенной модели или сервиса без встроенного адаптера. Генерируемый справочник Provider SDK документирует полный контракт.