Cette page décrit les attributs des fonctions tracées avec le décorateur
@weave.op. Si vous instrumentez un agent avec le SDK d’agent Weave, définissez plutôt des attributs et des événements sur les spans d’agent (Turn, LLM, Tool et SubAgent). Voir Définir des attributs et des événements sur les spans d’agent.- Déploiements
- tenants
- Experiments
- Attributs par appel : utilisez le gestionnaire de contexte
weave.attributes()pour ajouter des métadonnées à des opérations spécifiques ou à des blocs de code. - Attributs globaux : utilisez le champ
global_attributespour définir des attributs lors de l’initialisation, qui s’appliquent à toutes les traces et évaluations de votre projet.
Attributs par appel
Le gestionnaire de contexteweave.attributes() vous permet d’ajouter des métadonnées à des opérations tracées spécifiques. Utilisez-le pour associer des informations contextuelles à certains appels de fonction ou runs d’évaluation.
- Python
- TypeScript
weave.attributes(). Les contextes internes redéfinissent les contextes externes pour les mêmes clés :
- Python
- TypeScript
Attributs globaux
Lorsque vous définissez des attributs globaux lors de l’initialisation de Weave, ils s’appliquent automatiquement à toutes les traces et évaluations de votre projet. Cela permet de propager des métadonnées à l’échelle du projet, comme l’environnement, la version du déploiement ou les informations de l’équipe.- Python
- TypeScript
Combiner les attributs globaux et les attributs par appel
Vous pouvez utiliser à la fois des attributs globaux et des attributs par appel. Les attributs par appel ayant la même clé redéfinissent les attributs globaux :- Python
- TypeScript
Obtenir les attributs pendant l’exécution
Au moment de l’exécution, vous pouvez inspecter les attributs en vigueur pour un Appel. Cela est utile lorsque vous souhaitez déboguer les métadonnées que Weave associe, ou lorsque votre code doit se brancher en fonction d’informations contextuelles définies par un appelant externe.- Python
- TypeScript
L’exemple suivant configure le décorateur Weave pour journaliser la fonction Cela produit la sortie suivante :
process_data, définit les attributs à journaliser, puis les renvoie lors de l’exécution.weave.get_current_call() ne fonctionne qu’à l’intérieur d’une fonction décorée avec @weave.op. En dehors d’un op, il renvoie None.