Skip to main content

Fournisseurs personnalisés

Les fournisseurs personnalisés (BYOK — Bring Your Own Key) permettent de se connecter à des endpoints d’API compatibles OpenAI avec votre propre clé d’API. Les fournisseurs locaux comme Ollama sont également pris en charge.

ProviderConfig

La classe ProviderConfig expose les propriétés suivantes.

Utilisation de base

Avec un fournisseur personnalisé, le paramètre model est obligatoire.
Vous pouvez également spécifier ceci sous forme de tableau.

Ollama (fournisseur local)

Avec les fournisseurs locaux comme Ollama, apiKey n’est pas nécessaire.

Azure OpenAI

Pour utiliser Azure OpenAI, tenez compte des points suivants.
  • type doit être azure (et non openai)
  • baseUrl ne doit contenir que l’hôte (n’incluez pas des chemins comme /openai/v1)

Azure Managed Identity

Utilisez bearerTokenProvider lorsque votre fournisseur utilise des tokens de courte durée, comme avec Azure Managed Identity. Le runtime appelle le callback à chaque requête vers le fournisseur. Le callback reçoit un tableau contenant providerName et sessionId, et doit renvoyer le Bearer Token sous forme de chaîne. L’exemple suivant appelle un service de tokens de votre application.
Gérez l’obtention, la mise en cache et le renouvellement du token dans votre callback.

Points importants

Avec un fournisseur personnalisé, le paramètre model est obligatoire. Son omission provoque une erreur.
  • Pour les endpoints Azure (*.openai.azure.com), utilisez toujours type: 'azure'
  • baseUrl ne contient que l’hôte ; le SDK construit automatiquement le chemin

Gestionnaire onListModels

En mode BYOK avec un fournisseur personnalisé, vous pouvez faire en sorte que client->listModels() appelle un gestionnaire personnalisé plutôt que le serveur CLI. Configurez cela via la méthode listModelsUsing(). Comme le client s’initialise facilement, appelez toujours listModelsUsing() avant listModels().
En passant null, vous retirez le gestionnaire et rétablissez le comportement par défaut (requête au serveur CLI).
Lorsque listModelsUsing() est configuré, listModels() n’a pas besoin de se connecter au serveur CLI et n’utilise pas de cache.
Pour les dernières informations, consultez le dépôt GitHub.
Dernière modification le 19 octobre 2026