Manuel d’utilisation de Switch En développement
Connecter n’importe quel client OpenAI à Switch
Une fois lancé, Switch expose localement un point de terminaison compatible avec l’API OpenAI ; il suffit de modifier une ligne base_url pour que toutes les requêtes soient automatiquement routées par Switch.
Intégration rapide
Une fois lancé, Switch expose localement un point de terminaison compatible avec l’API OpenAI http://localhost:19090/v1 (le port par défaut de la passerelle Switch est 19090). Modifiez le base_url de votre application/SDK vers cette adresse, et toutes les requêtes seront automatiquement routées par Switch. Renseignez n’importe quelle valeur pour api_key (par exemple switch) ; Switch utilise la clé de provider définie dans la configuration.
Pointez le
base_urldu client vers le point de terminaison Switch local, renseignez n’importe quelle valeur pourapi_key(par exempleswitch), puis envoyez vos requêtes comme d’habitude :bashcurl http://localhost:19090/v1/chat/completions \ -H "Content-Type: application/json" -H "Authorization: Bearer switch" \ -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello"}]}'pythonfrom openai import OpenAI client = OpenAI( base_url="http://localhost:19090/v1", api_key="switch", ) resp = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": "Hello"}], ) print(resp.choices[0].message.content)javascriptimport OpenAI from "openai"; const client = new OpenAI({ baseURL: "http://localhost:19090/v1", apiKey: "switch", }); const resp = await client.chat.completions.create({ model: "gpt-4o", messages: [{ role: "user", content: "Hello" }], }); console.log(resp.choices[0].message.content);Avec le SDK OpenAI (Python / Node.js), il suffit de modifier
base_url/baseURLetapi_key; les autres appels restent inchangés — Switch effectue le routage réel à l’aide de la clé de provider définie dans la configuration, et le client n’a pas besoin de connaître le fournisseur en aval.
Pourquoi api_key peut prendre n’importe quelle valeur
api_key ne sert que de valeur de remplacement ; il suffit de renseigner switch.Utilisation dans les outils de programmation IA
Pour tous les outils, renseignez http://localhost:19090/v1 comme API Base / adresse de l’interface, et switch comme API Key.
Utilisation dans les outils de programmation IA
Pour tous les outils, renseignez http://localhost:19090/v1 comme API Base / adresse de l’interface, et switch comme API Key :
Paramètres (Ctrl+,) → rechercher « AI » → modifier « OpenAI API Base » vers cette adresse → enregistrer ; la complétion et les conversations passent automatiquement par Switch.
Éditez ~/.continue/config.json ; pour chaque entrée de modèle, définissez "provider": "openai", "apiBase": "http://localhost:19090/v1", "apiKey": "switch", et renseignez "model" avec deepseek-chat / gpt-4o, etc.
Paramètres → Configuration de l’API → choisir « OpenAI compatible personnalisé » → renseigner l’adresse et la clé → « Tester la connexion ».
Paramètres → Modèles de langage → OpenAI → renseigner l’API Key et l’adresse de l’interface.
Surveillance, bascule et streaming
Surveillance des requêtes
L’onglet « Journaux » permet de consulter les journaux de requêtes en temps réel, avec les champs : heure (horodatage), modèle, fournisseur (cible de routage réelle), durée (ms), Token (prompt/completion), statut (200 / 4xx-5xx). « Exporter en CSV » permet d’exporter les enregistrements des 7 derniers jours pour les statistiques de coûts.
Bascule de fournisseur en un clic
Un clic sur l’icône de la barre de menus (macOS) / la zone de notification système (Windows) permet de : changer de « fournisseur actif courant », désactiver temporairement un fournisseur (débogage) et consulter l’aperçu de la consommation du jour.
Réponses en streaming
Les réponses en streaming SSE sont entièrement prises en charge et relayées en aval : après chat.completions.create(..., stream=True), itérez sur chunk.choices[0].delta.content.
Répartition de charge
Lorsqu’un même modèle est configuré avec plusieurs fournisseurs, la répartition peut se faire par round-robin ou selon des pondérations.
Avancé : répartition de charge
Lorsqu’un même modèle est configuré avec plusieurs fournisseurs, la répartition peut se faire par round-robin ou selon des pondérations :
{
"routing": {
"rules": [
{
"pattern": "deepseek-chat",
"providers": [
{ "name": "Lurus API", "weight": 70 },
{ "name": "DeepSeek Official", "weight": 30 }
],
"strategy": "weighted_random"
}
]
}
}Dépannage
Dépliez le symptôme correspondant pour voir les étapes de résolution.
Dépannage
« connection refused » — connexion refusée
Switch n’est pas lancé ou le port est incorrect. Vérifiez le processus et le port :
- Processus : Windows
tasklist | findstr LurusSwitch/ macOS·Linuxps aux | grep lurus-switch - Port :
curl http://localhost:19090/v1/models
401 / 403 — échec d’authentification
La clé d’API du fournisseur est mal configurée. Saisissez-la de nouveau dans l’interface de configuration et cliquez sur « Tester » pour vérifier la connectivité.
Latence anormalement élevée
- Vérifiez dans les journaux que le routage atteint bien le bon fournisseur.
- Une latence élevée pour les fournisseurs étrangers (OpenAI / Anthropic) est normale (300-1500 ms).
- Basculez sur les nœuds nationaux de Lurus API (généralement < 200 ms).
Application macOS qui ne répond plus
Faites un clic droit sur l’icône de la barre de menus puis « Quitter », et relancez ; ou exécutez dans le terminal :
pkill -f LurusSwitch && open -a "Lurus Switch"