Depuis les APIs providers (OpenAI / Anthropic)

Garde ton compte provider, ajoute un router — sélection intelligente des modèles sans réécrire une ligne de logique.

Ce guide couvre l'ajout de HiWay2LLM devant une codebase qui appelle OpenAI ou Anthropic directement. Tu ne remplaces pas ton compte provider — tu insères une couche de routage fine capable de choisir le modèle le moins cher capable de répondre par requête (model: "auto"), d'ajouter du cache sémantique, et de te donner des analytics par workspace. De bout en bout : 5 minutes pour le swap lui-même.

Prérequis

Un compte HiWay et ta clé OpenAI / Anthropic existante configurée dans Tableau de bord → Paramètres → Fournisseurs. Tu continues de payer OpenAI / Anthropic directement au tarif wholesale — HiWay route juste par-dessus avec ta clé.

Étape 1 : récupère ta clé API HiWay

Ouvre Tableau de bord → Clés et clique sur Nouvelle clé. Tu vas remplacer ton OPENAI_API_KEY / ANTHROPIC_API_KEY par une clé hw_live_ dans la config de ton app.

Étape 2 : change ta config

Tu pointais sur https://api.openai.com/v1 ou https://api.anthropic.com/v1 avec la clé du provider. Remplace la base URL par https://app.hiway2llm.com/v1 et la clé par hw_live_.... Tes messages, tools, le comportement streaming et la gestion d'erreur restent identiques — HiWay parle le wire format OpenAI et pipe vers Anthropic / Google / Mistral en arrière-plan. Passe model: "auto" pour activer le smart routing, ou garde l'id exact que tu utilisais (gpt-4o, claude-sonnet-4-5, etc.) pour épingler et juste récupérer observabilité + cache + fallback sans changer le routing.

from openai import OpenAI

client = OpenAI(
    base_url="https://app.hiway2llm.com/v1",
    api_key="hw_live_VOTRE_CLE",
)

# Option A : laisse le router choisir le modèle le moins cher capable
response = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Résume ce compte-rendu de réunion"}],
)

# Option B : garde ton modèle épinglé, toujours avec cache + fallback + analytics
response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "Résume ce compte-rendu de réunion"}],
)

print(response.choices[0].message.content)

Étape 3 : vérifie

Envoie une requête. Inspecte X-HiWay-Routed-Model sur la réponse — si tu as passé model: "auto", tu vas voir que le router a choisi quelque chose de moins cher que ta baseline flagship. Ouvre Tableau de bord → Usage pour voir tes économies vs un routing systématique vers Claude Opus 4.7 (notre flagship de référence).

Gotchas spécifiques aux APIs providers directes

  • Ta facturation provider ne change pas : OpenAI / Anthropic continuent de facturer ta carte à leurs tarifs publiés. HiWay ajoute un abonnement mensuel fixe pour la couche de routage — pas de marge par token, jamais.
  • Noms de modèles : pin ou auto : passe model: "auto" pour le smart routing, ou épingle avec model: "openai/gpt-4o" / model: "anthropic/claude-sonnet-4-5". Les ids canoniques HiWay préfixent le provider — si tu utilisais le nom provider brut (par ex. gpt-4o), tu voudras le mettre à jour ou t'appuyer sur auto.
  • Le streaming est identique : passe stream: true, consomme les chunks SSE de la même façon. HiWay forwarde byte-for-byte.
  • Tools / function calling sont identiques : les champs OpenAI tools / tool_choice fonctionnent tels quels, même contre des modèles Anthropic (HiWay traduit vers le format tool d'Anthropic de façon transparente).
  • Les codes d'erreur sont identiques : 401 pour l'auth, 429 pour rate limit, 5xx pour les échecs upstream. HiWay ajoute deux codes à lui — 402 pour les blocks Budget Control et un body d'erreur guardian_block quand Guardian se déclenche.

C'est fini

Moins de 10 minutes de bout en bout — souvent plutôt 5 vu que tu n'as pas à configurer un second compte provider. Contacte support@hiway2llm.com si tu bloques.