Migrer de OpenAI vers Lurus API
Changez une seule ligne de base_url et tous vos appels du SDK OpenAI existants fonctionnent — sans réécrire votre logique métier.
Prérequis
Disposer d’une API KeyAPI KeyIdentifiant secret permettant d'accéder à l'API, semblable à un mot de passe. Chaque Key peut avoir ses propres quotas et permissions.En savoir plus → Lurus (comment l’obtenir).
Une seule modification
- from openai import OpenAI
-
- client = OpenAI(api_key="sk-openai-...")
+ from openai import OpenAI
+
+ client = OpenAI(
+ api_key="sk-lurus-...",
+ base_url="https://hub.lurus.cn/v1",
+ )C’est tout. Tous les appels client.chat.completions.create(...) restent inchangés.
Correspondance des noms de modèles
| Modèle OpenAI | Équivalent recommandé Lurus |
|---|---|
| gpt-5 | gpt-5 (direct) ou deepseek-chat / claude-sonnet-4 |
| gpt-4o-mini | deepseek-chat / qwen-turbo |
| gpt-4o | claude-sonnet-4 / gemini-3-pro |
| o1 | deepseek-reasoner |
| text-embedding-3-small | bge-m3 (local) / text-embedding-3-small |
Liste complète sur Modèles pris en charge.
Étapes de mise en production
Vérifier la connectivité — exécutez une fois ; recevoir une réponse confirme le succès.
pythonresp = client.chat.completions.create( model="deepseek-chat", messages=[{"role": "user", "content": "你好"}], ) print(resp.choices[0].message.content)Bascule progressive — basculez le trafic de OpenAI vers Lurus par paliers, de
0.1→0.5→1.0.pythonimport os, random def get_client(): if random.random() < float(os.getenv("LURUS_TRAFFIC", "0.1")): return OpenAI(api_key=os.getenv("LURUS_API_KEY"), base_url="https://hub.lurus.cn/v1") return OpenAI(api_key=os.getenv("OPENAI_API_KEY"))Rollback — supprimez
base_urlpour revenir aux appels OpenAI. Aucun redémarrage requis (effet par requête).
Questions fréquentes
Nom de modèle introuvable ?
Cherchez dans le catalogue de modèles, ou ouvrez une Issue.
Le function calling / le mode JSON sont-ils pris en charge ?
Lurus est entièrement compatible avec le function calling / JSON Schema de OpenAI.
Un ID d’organisation est-il nécessaire ?
Lurus ne requiert pas de champ organization ; sa présence superflue ne provoque aucune erreur.