Repli automatique
Le mécanisme de repli d’OfoxAI bascule automatiquement vers un modèle alternatif lorsque le modèle principal est indisponible, garantissant la continuité de votre service.
Fonctionnement
- La requête est envoyée au modèle principal
- Si le modèle principal renvoie une erreur (5xx, timeout, limitation de débit, etc.)
- Les modèles de la liste de fallback sont essayés automatiquement dans l’ordre
- La première réponse réussie est renvoyée
Repli par requête
Configurez le repli pour une requête individuelle via le paramètre provider.fallback :
fallback.py
from openai import OpenAI
client = OpenAI(
base_url="https://api.ofox.ai/v1",
api_key="<votre OFOXAI_API_KEY>"
)
response = client.chat.completions.create(
model="openai/gpt-4o", # Modèle principal
messages=[{"role": "user", "content": "Bonjour"}],
extra_body={
"provider": {
"fallback": [
"anthropic/claude-sonnet-4.5", # Première alternative
"google/gemini-3-flash-preview" # Deuxième alternative
]
}
}
)
# Voir le modèle réellement utilisé
print(response.model)fallback.ts
const response = await client.chat.completions.create({
model: 'openai/gpt-4o',
messages: [{ role: 'user', content: 'Bonjour' }],
// @ts-ignore Paramètre étendu OfoxAI
provider: {
fallback: [
'anthropic/claude-sonnet-4.5',
'google/gemini-3-flash-preview'
]
}
})Configuration de repli globale
Configurez une stratégie de repli globale dans la console OfoxAI, sans avoir à la spécifier dans chaque requête :
- Connectez-vous à la console OfoxAI
- Allez dans Paramètres → Stratégie de routage
- Configurez la liste de modèles de repli par défaut
Le paramètre fallback au niveau de la requête individuelle remplace la configuration globale.
Conditions de déclenchement du repli
Les situations suivantes déclenchent le repli :
| Condition | Description |
|---|---|
| HTTP 5xx | Erreur serveur |
| Timeout | Délai de réponse du modèle dépassé |
| 429 Limitation de débit | Le modèle en amont a atteint la limite de débit |
| Modèle indisponible | Maintenance ou mise hors ligne du fournisseur |
Les situations suivantes ne déclenchent pas le repli :
| Condition | Description |
|---|---|
| HTTP 4xx (sauf 429) | Erreur client nécessitant une correction de la requête |
| Filtre de contenu | Contenu refusé par le modèle |
Utilisation combinée avec le routage
Le mécanisme de repli peut être combiné avec le routage de fournisseurs :
response = client.chat.completions.create(
model="openai/gpt-4o",
messages=[{"role": "user", "content": "Bonjour"}],
extra_body={
"provider": {
"routing": "latency", # Routage par latence
"fallback": [ # Liste de repli
"anthropic/claude-sonnet-4.5",
"google/gemini-3-flash-preview"
]
}
}
)Schémas de repli recommandés
Conversation générale
"provider": {
"fallback": ["anthropic/claude-sonnet-4.5", "google/gemini-3-flash-preview"]
}Génération de code
"provider": {
"fallback": ["anthropic/claude-sonnet-4.5", "deepseek/deepseek-chat"]
}Excellent rapport qualité-prix
"provider": {
"fallback": ["openai/gpt-4o-mini", "google/gemini-3-flash-preview", "deepseek/deepseek-chat"]
}Bonnes pratiques
- Choisissez des modèles alternatifs de capacité similaire — Assurez une qualité de sortie cohérente après le repli
- Repli inter-fournisseurs — Évitez que les modèles du même fournisseur soient indisponibles simultanément
- Configurez 2-3 alternatives — Suffisant pour couvrir la plupart des scénarios de panne
- Surveillez la fréquence de repli — Si les replis sont fréquents, envisagez de changer le modèle principal
Last updated on