Aller au contenu principal

Ajouter des providers personnalisés

Pourquoi utiliser des providers tiers ?

Par défaut, Vibe communique avec l’API Mistral. Mais l’architecture de l’outil est conçue pour être agnostique : vous pouvez ajouter n’importe quel provider compatible avec le format d’API OpenAI. Cela ouvre des possibilités intéressantes :

  • Accéder à des modèles d’autres fournisseurs (Claude, GPT-4, Llama, etc.)
  • Utiliser des relais comme OpenRouter pour comparer les modèles
  • Pointer vers une instance locale (Ollama, vLLM, etc.)
  • Basculer entre providers selon les tâches

Anatomie d’un provider

Un provider se déclare dans config.toml avec la directive [[providers]] :

[[providers]]
name = "openrouter"
api_base = "https://openrouter.ai/api/v1"
api_key_env_var = "OPENROUTER_API_KEY"
api_style = "openai"
backend = "generic"

Chaque champ a un rôle précis :

  • name — Identifiant unique du provider (utilisé pour référencer les modèles)
  • api_base — URL de base de l’API (le endpoint /chat/completions sera ajouté automatiquement)
  • api_key_env_var — Nom de la variable d’environnement contenant la clé API
  • api_style — Format de l’API. Utilisez "openai" pour tout provider compatible OpenAI
  • backend — Type de backend. "generic" fonctionne pour la plupart des cas

Exemples de providers courants

Provider api_base api_key_env_var
OpenRouter https://openrouter.ai/api/v1 OPENROUTER_API_KEY
Ollama (local) http://localhost:11434/v1
Together AI https://api.together.xyz/v1 TOGETHER_API_KEY
Groq https://api.groq.com/openai/v1 GROQ_API_KEY
vLLM (self-hosted) http://votre-serveur:8000/v1

Déclarer un modèle sur un provider

Une fois le provider déclaré, ajoutez les modèles que vous souhaitez utiliser :

[[models]]
name = "mistralai/devstral-2512:free"
provider = "openrouter"
alias = "devstral-openrouter"
temperature = 0.2

Les champs importants :

  • name — Identifiant du modèle tel que le provider le connaît
  • provider — Doit correspondre au name d’un provider déclaré
  • alias — Nom raccourci pour l’utiliser dans Vibe
  • temperature — Paramètre de créativité (0.0 = déterministe, 1.0 = créatif)

Pour activer ce modèle par défaut :

active_model = "devstral-openrouter"

Exemple complet : OpenRouter

Voici une configuration complète pour utiliser OpenRouter comme provider alternatif :

# ~/.vibe/config.toml

# Provider OpenRouter
[[providers]]
name = "openrouter"
api_base = "https://openrouter.ai/api/v1"
api_key_env_var = "OPENROUTER_API_KEY"
api_style = "openai"
backend = "generic"

# Modèle Devstral gratuit via OpenRouter
[[models]]
name = "mistralai/devstral-2512:free"
provider = "openrouter"
alias = "devstral-free"
temperature = 0.2

# Modèle Llama via OpenRouter
[[models]]
name = "meta-llama/llama-3.3-70b-instruct"
provider = "openrouter"
alias = "llama-70b"
temperature = 0.3

N’oubliez pas de définir la variable d’environnement :

export OPENROUTER_API_KEY="sk-or-votre-cle-ici"

Basculer entre modèles

En cours de session, changez de modèle avec la commande /model :

/model devstral-free

Ou directement au lancement :

vibe --model llama-70b

Provider local avec Ollama

Pour utiliser un modèle local via Ollama (aucune clé API nécessaire) :

[[providers]]
name = "ollama"
api_base = "http://localhost:11434/v1"
api_key_env_var = ""
api_style = "openai"
backend = "generic"

[[models]]
name = "codestral:latest"
provider = "ollama"
alias = "codestral-local"

L’avantage d’un provider local : vos données ne quittent jamais votre machine. C’est l’option idéale pour travailler sur du code sensible ou en mode hors-ligne.

Points clés à retenir

  • Vibe supporte tout provider compatible avec le format d’API OpenAI
  • Un provider se déclare avec [[providers]] dans config.toml
  • Chaque modèle est rattaché à un provider et peut avoir un alias
  • /model permet de basculer entre modèles en cours de session
  • Les providers locaux (Ollama, vLLM) permettent de travailler hors-ligne