Skip to main content
L’en-tête OpenAI-Project sélectionne le projet. Le champ model détermine ensuite si la requête suit l’acheminement pondéré du projet ou un modèle de remplacement, tandis que metadata["forge.project_version"] détermine la version du projet.

Sélection du projet

La valeur se présente sous la forme [ENTITY]/[PROJECT]. [PROJECT] correspond au nom du projet Weights & Biases (son champ project), et non à son alias. Les deux sont identiques, sauf si le projet a été créé avec un nom de projet différent. Studio affiche cette valeur, prête à être copiée, dans l’en-tête du projet et sur la page des paramètres du projet.
Les SDK d’OpenAI envoient cet en-tête à partir de l’option project, par exemple OpenAI(project=...) en Python ou new OpenAI({ project }) en JavaScript, ou bien de la variable d’environnement OPENAI_PROJECT_ID.

Acheminement pondéré

Si model vaut router, est vide ou est omis, l’acheminement pondéré de la version sélectionnée s’applique. Le proxy choisit parmi les cibles de poids positif, remplace model, applique les paramètres de la cible et appelle son fournisseur.
Avec l’en-tête OpenAI-Project, un alias de projet ou alias@vN dans model renvoie une erreur 400. Utilisez plutôt forge.project_version pour sélectionner la version.

Épinglage de versions

Cet épinglage sélectionne la version 3. Envoyez la version sous forme de chaîne de caractères, par exemple "3". Le proxy accepte également un entier. Si vous omettez forge.project_version, la version 1 est sélectionnée : il s’agit d’une valeur par défaut fixe, qui ne bascule jamais vers la dernière version. La publication d’une nouvelle version ne modifie jamais la version 1 : vous pouvez donc tester une nouvelle version en toute sécurité avant de la déployer dans votre application. Une version inconnue renvoie 404 avec le message Project 'your-team/ticket-classifier' has no version 3. forge.project_version nécessite l’en-tête OpenAI-Project. Sans cet en-tête, la requête renvoie 400.

Remplacement de modèle

Avec l’en-tête OpenAI-Project, une valeur provider/model-id remplace le modèle pour une seule requête. Le préfixe qui précède la première barre oblique désigne un fournisseur enregistré dans l’entity du projet, y compris les fournisseurs intégrés tels que wandb-inference. La suite correspond à l’ID du modèle configuré chez le fournisseur. Les barres obliques supplémentaires sont autorisées.
Un remplacement de modèle relève du trafic de projet. Le proxy le trace, l’échantillonne et le met en cache dans la version sélectionnée, comme le trafic acheminé. Il utilise les paramètres de requête de l’appelant et les valeurs d’inférence par défaut du fournisseur, et non les paramètres d’inférence d’un modèle affiné (par exemple sa température par défaut) ni les valeurs params_override des cibles. Les remplacements sont utiles pour effectuer des tests ponctuels, appeler un modèle entraîné avant qu’il ne devienne une cible d’acheminement, ou valider un fournisseur nouvellement enregistré avant de lui acheminer du trafic. Les traces enregistrent le mode d’acheminement dans routing_mode : override pour les remplacements de modèle et weighted pour le trafic acheminé. Comme les remplacements relèvent du trafic de projet, ils peuvent être inclus dans des datasets, y compris les datasets enseignants que Automation construit dans Studio lorsque le remplacement utilise le modèle de l’enseignant. Pour exclure les remplacements d’un dataset, filtrez sur metadata: {"routing_mode": "weighted"}. Ce filtre exclut également les traces écrites avant l’introduction de routing_mode. Voir Métadonnées et traces.

Résolution de l’entity

L’entity indiquée dans OpenAI-Project doit être l’entity personnelle de l’appelant ou l’une de ses équipes Weights & Biases. Le proxy vérifie l’accès avant toute recherche de projet : une clé qui n’a pas accès à l’entity reçoit donc une erreur 403, que le projet existe ou non. Comme l’en-tête désigne l’entity, le proxy recherche un projet d’équipe au sein de l’équipe, même si vous utilisez une clé personnelle.

Sélection pondérée persistante

Fournissez un ID de conversation pour que tous les appels d’une même conversation soient dirigés vers la même cible pour une révision d’acheminement donnée :
La modification de la révision d’acheminement peut, de façon intentionnelle, réaffecter cette clé à une autre cible.
Envoyez OpenAI-Project, utilisez router dans model et définissez forge.project_version. Pour remplacer le modèle, indiquez plutôt provider/model-id dans model.
Pour le schéma complet, consultez Créer une complétion de conversation acheminée.
Dernière modification le 27 octobre 2026