Обзор провайдеров
Провайдеры — это то, как 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 документирует полный контракт.