Passer au contenu principal
OrcaRouter vous permet de sauvegarder une stratégie de routage comme routeur nommé. Appelez-la depuis votre code comme orcarouter/{name} et OrcaRouter la résout en un modèle concret au moment de la requête, sur la base des règles que vous avez configurées. C’est utile quand vous voulez :
  • Changer le comportement de routage sans redéployer votre app (changer le routeur dans le tableau de bord ; votre code reste le même).
  • Permettre à différentes équipes ou services de choisir leur propre politique de routage indépendamment de l’application qui appelle l’API.
  • Référencer une logique de routage trop complexe pour être en ligne dans extra_body.

Utiliser un routeur

response = client.chat.completions.create(
    model="orcarouter/production-chat",
    messages=[...],
)
Pour découvrir vers quel modèle concret un routeur s’est résolu, lisez les en-têtes de réponse X-Orca-Router et X-Orca-Resolved-Model — voir En-têtes de réponse. Le champ model dans le corps de réponse lui-même reflète ce que l’amont a retourné (souvent le nom amont brut, par ex. gpt-4o-mini-2024-07-18).

Créer un routeur

Les routeurs sont créés dans le tableau de bord sous Routing. Chaque routeur a :
  • Nom — le {name} dans orcarouter/{name}. Doit être unique dans votre espace de travail ; lettres minuscules, chiffres, _ et - (1-50 caractères). Le nom orcarouter est réservé.
  • Modèles autorisés — un ou plusieurs motifs glob (séparés par virgules ou nouvelles lignes, insensibles à la casse) limitant les modèles que ce routeur peut choisir. Exemples : openai/* ou openai/*, anthropic/claude-haiku-*. Vide correspond à tous les modèles auxquels votre compte a accès.
  • Stratégie — comment choisir parmi les modèles correspondants. Voir Stratégies ci-dessous.
  • Mundane models / Hard models — listes de modèles supplémentaires utilisées uniquement par la stratégie Adaptive · Gated. Voir Adaptive ci-dessous.
  • Modèle par défaut — un modèle filet de sécurité utilisé si le motif ne résout rien.
  • Activé — désactiver le routeur sans le supprimer.

Stratégies

L’éditeur expose quatre cartes de stratégie. Adaptive regroupe deux sous-modes backend, pour cinq valeurs d’énumération au total que vous pouvez persister via l’API.

Cheapest (Le moins cher)

Choisit le modèle avec le prix par token le plus bas parmi les candidats en direct. Par défaut pour le routeur orcarouter/auto ensemencé. Mieux quand vous voulez le modèle chat en direct le moins cher à chaque requête et ne vous souciez pas de la cohérence du style de sortie entre les appels.

Quality (Qualité)

Choisit le modèle avec le score de qualité le plus élevé parmi les candidats en direct, quel que soit le prix. Mieux quand la qualité de sortie domine le coût.

Balanced (Équilibré)

Choisit une option à faible coût qui répond toujours à un seuil de qualité ; si rien ne répond au seuil, se rabat sur l’option de plus haute qualité. Par défaut pour les nouveaux routeurs que vous créez vous-même. Fonctionne sans réglage par routeur.

Adaptive (Adaptatif)

Un bandit contextuel LinUCB par routeur qui apprend de votre trafic de production réel. Pondère qualité, coût, latence et fiabilité par requête pour choisir le meilleur modèle. Les nouveaux routeurs se comportent comme Balanced pendant une courte période de démarrage à froid (un préchauffage par modèle) avant que le bandit ne commence à orienter les choix — c’est attendu, pas un bug. Deux sous-modes :
  • Standard (énumération API : linucb) — considère chaque modèle Autorisé pour chaque requête. Mieux quand le trafic est à peu près uniforme et que vous voulez que le routeur trouve la meilleure option dans votre liste complète.
  • Gated (énumération API : gated_adaptive) — les requêtes sont d’abord classées comme mundane ou hard ; les requêtes mundane puisent dans une petite réserve Mundane models, les requêtes hard dans une réserve Hard models plus forte, et les requêtes de difficulté moyenne dans la liste Autorisée complète. Mieux quand votre trafic mélange des appels simples et complexes. Chaque réserve est intersectée avec les modèles Autorisés ; les réserves vides ou non chevauchantes se rabattent silencieusement sur la liste Autorisée complète, donc les requêtes ne sont jamais affamées. Configurez les deux réserves (weak_pool et strong_pool au niveau API — jusqu’à 2000 caractères chacune) dans l’éditeur quand vous choisissez Gated.

Routeur ensemencé : orcarouter/auto

Chaque compte OrcaRouter est ensemencé avec un routeur par défaut appelé auto à l’inscription — voir Routeur Auto. Vous pouvez l’utiliser immédiatement sans aucune configuration.