Vue d'ensemble des fournisseurs
Les fournisseurs sont la façon dont NeoTavern parle aux services IA externes : modèles de langage, text-to-speech, speech-to-text et génération d'images.
Un Seul Contrat d'Adaptateur
Chaque fournisseur — qu'il s'agisse d'un endpoint de chat compatible OpenAI,
d'une connexion Anthropic native, d'un backend communautaire comme NovelAI ou
KoboldAI, ou d'un service enregistré par un plugin — implémente le même
contrat ProviderAdapter de @neotavern/provider-sdk. Le pipeline central ne
connaît que ce contrat, donc l'application n'est liée à aucun fournisseur
unique.
Un adaptateur doit prendre en charge :
- La validation de la configuration.
- La liste des modèles disponibles.
- L'annulation via
AbortSignal. - Un flux d'événements de génération unifié.
- Des erreurs normalisées.
- Des délais.
- Une journalisation sans secrets.
- L'enregistrement via le Plugin SDK.
Comme le pipeline voit une seule forme quel que soit le fournisseur, des fonctionnalités comme le streaming, le décalage de contexte et la gestion des erreurs fonctionnent à l'identique sur tous les fournisseurs. Consultez Contrat d'adaptateur pour les exigences précises.
Adaptateurs Livrés
La distribution livre des adaptateurs pour les endpoints compatibles OpenAI, Anthropic, les endpoints de complétion de texte, NovelAI, KoboldAI, l'AI Horde et un adaptateur écho local. Chacun est documenté dans Adaptateurs.
Estimation Locale des Jetons
Le comptage de jetons est local et hors ligne. Des tokeniseurs exacts (tiktoken, SentencePiece ou JSON de tokeniseur Hugging Face) peuvent être enregistrés par modèle, y compris par les plugins de fournisseurs ; jusqu'à ce qu'un tokeniseur exact soit enregistré, l'hôte utilise une heuristique consciente des écritures et marque le compte comme approximatif.
Étendre les Fournisseurs
Le cœur est délibérément exempt de dépendances aux SDK de fournisseurs. Les nouveaux fournisseurs sont ajoutés en écrivant un adaptateur et en l'enregistrant :
- Les fournisseurs du cœur s'enregistrent via le
ProviderRegistryde@neotavern/provider-sdk. - Les fournisseurs de plugins s'enregistrent via l'API backend du Plugin SDK
(
api.providers.register(kind, factory)), qui exige la permissionproviders.register. L'enregistrement renvoie une fonction de nettoyage et est retiré automatiquement quand le plugin se désactive.
C'est le chemin documenté pour un endpoint privé, un modèle auto-hébergé ou un service sans adaptateur intégré. La référence du Provider SDK générée documente le contrat complet.