Skip to main content
L’observabilité des agents W&B Weave repose sur OpenTelemetry (OTel). Weave fournit un point de terminaison OTLP dédié qui ingère les spans dans la vue Agents. Si votre agent émet déjà des spans OTel, vous pouvez les envoyer vers Weave en pointant votre pipeline OTel existant vers ce point de terminaison, sans installer le SDK Weave. Cette page explique comment vous authentifier auprès du point de terminaison et lui envoyer des spans.

Authentification

Vous pouvez envoyer des spans au point de terminaison suivant :
  • Chemin : /agents/otel/v1/traces
  • Méthode : POST
  • Content-Type : application/x-protobuf
  • URL de base : https://trace.wandb.ai pour le Cloud mutualisé.
Le point de terminaison accepte uniquement des charges utiles protobuf OTLP. Utilisez un exportateur HTTP protobuf tel que opentelemetry-exporter-otlp-proto-http (Python) ou @opentelemetry/exporter-trace-otlp-proto (TypeScript). Le point de terminaison accepte également les encodages de contenu gzip et deflate. Pour vous authentifier auprès du point de terminaison, définissez votre clé API W&B dans la configuration de OTLPSpanExporter à l’aide de l’une des valeurs suivantes :
  • wandb-api-key : votre clé API W&B comme valeur.
  • Authorization : authentification HTTP Basic avec api comme nom d’utilisateur et votre clé API W&B comme mot de passe. Ce format est utile lorsque votre exportateur ou votre collecteur ne prend en charge que les en-têtes d’autorisation standard.

Acheminement vers un projet

Weave achemine les spans vers un projet à l’aide soit des attributs de ressource OTel, soit d’un en-tête de requête :
  • Attributs de ressource (recommandé) : définissez wandb.entity sur le nom de votre équipe W&B ou sur votre nom d’utilisateur, et wandb.project sur le nom du projet dans la ressource TracerProvider.
  • En-tête project_id : définissez sa valeur sur [YOUR-TEAM]/[YOUR-PROJECT].
Si les deux sont présents, les attributs de ressource priment. Les spans reçus sans entité ni projet sont ignorés.

Structurer les spans pour la vue Agents

Weave accepte n’importe quel span OTel et stocke tous ses attributs, mais la vue Agents affiche les spans conformes aux conventions sémantiques OTel GenAI. Définissez gen_ai.operation.name sur chaque span pour indiquer à Weave ce que représente ce span : Deux attributs supplémentaires contrôlent le regroupement :
  • gen_ai.conversation.id : regroupe les tours de conversation au sein d’une conversation. Utilisez un ID stable pendant toute la durée de vie de la conversation.
  • gen_ai.agent.name : regroupe les conversations sous un agent nommé dans l’onglet Agents.
D’autres attributs des conventions sémantiques GenAI, comme gen_ai.request.model, gen_ai.usage.input_tokens et gen_ai.usage.output_tokens, enrichissent le rendu avec les noms des modèles et le nombre de jetons, mais sont facultatifs. Pour le modèle de données d’agent auquel ces spans sont associés, voir Trace your agents.

Configurez uniquement à l’aide de variables d’environnement

Si votre application ou votre collecteur lit les variables d’environnement standard de l’exportateur OTel, vous pouvez définir les variables suivantes et acheminer les spans vers Weave sans modifier le code :

Exemple : émettre des spans d’agent sans le SDK Weave

L’exemple suivant instrumente un tour de conversation minimal pour un agent en utilisant uniquement des packages OTel. Il émet un span invoke_agent pour ce tour de conversation, un span chat pour l’appel LLM et un span execute_tool pour un appel d’outil, puis les exporte vers le point de terminaison Weave Agents. Commencez par installer les dépendances requises :
Définissez ensuite les valeurs WANDB_API_KEY, ENTITY et PROJECT dans le code suivant, puis exécutez-le :
Pour ajouter d’autres tours de conversation à la même conversation, émettez d’autres spans invoke_agent avec le même gen_ai.conversation.id. Chaque tour de conversation est le span racine de sa propre trace ; les tours de conversation n’ont donc pas besoin de partager un span parent. Une fois que votre application a exporté les spans, ouvrez l’onglet Agents de votre projet Weave.