- Python
- TypeScript
Pour créer un Op, décorez une fonction Python avec L’appel d’un Op crée une nouvelle version de l’Op si le code a changé depuis le dernier appel, et enregistre les entrées et les sorties de la fonction.Les fonctions que vous décorez avec
weave.op()@weave.op() se comportent normalement (sans gestion des versions du code ni suivi) si vous n’appelez pas weave.init('your-project-name') avant de les appeler.Les Ops peuvent être servis ou déployés à l’aide de la boîte à outils Weave.Personnaliser les noms d’affichage
- Python
- TypeScript
Vous pouvez personnaliser le nom d’affichage de l’op en définissant le paramètre
name dans le décorateur @weave.op :Appliquer des types et des couleurs
kind et color aux décorateurs @weave.op dans votre code. Par exemple, le code suivant attribue le type LLM et la couleur blue à la fonction parente, ainsi que le type tool et la couleur red à une fonction imbriquée :
- Python
- TypeScript

kind disponibles sont :
agentllmtoolsearch
color disponibles sont :
redorangeyellowgreenbluepurple
Personnaliser les entrées et sorties enregistrées
- Python
- TypeScript
Si vous souhaitez modifier les données que Weave enregistre sans modifier la fonction d’origine (par exemple, pour masquer des données sensibles), vous pouvez passer
postprocess_inputs et postprocess_output au décorateur op.postprocess_inputs prend en entrée un dict où les clés sont les noms des arguments et les valeurs, les valeurs des arguments, puis renvoie un dict contenant les entrées transformées.postprocess_output prend en entrée n’importe quelle valeur normalement renvoyée par la fonction et renvoie la sortie transformée.Contrôler le taux d’échantillonnage
- Python
- TypeScript
Vous pouvez contrôler la fréquence à laquelle les appels d’un Op sont tracés en définissant le paramètre Lorsqu’un appel d’un Op n’est pas échantillonné :
tracing_sample_rate dans le décorateur @weave.op. C’est utile pour les Ops à fréquence élevée lorsque vous n’avez besoin de tracer qu’un sous-ensemble des appels.Bien que nous recommandions de collecter toutes les traces pendant le développement d’agents afin de vous aider à mieux définir et comprendre leur comportement, nous recommandons de configurer l’échantillonnage des traces en Production pour réduire les coûts liés au volume tout en conservant une visibilité sur le comportement de votre agent.Weave applique les taux d’échantillonnage uniquement aux Ops les plus externes. Si un Op imbriqué a un taux d’échantillonnage, mais qu’un Op parent l’appelle en premier, le taux d’échantillonnage de l’Op imbriqué est ignoré.- La fonction s’exécute normalement
- Aucune donnée de trace n’est envoyée à Weave
- Les Ops enfants ne sont pas non plus tracés pour cet appel
Contrôler l’affichage des liens d’appel
WEAVE_PRINT_CALL_LINK sur false. Cela peut être utile si vous voulez réduire la verbosité de la sortie et alléger vos journaux.
Suppression d’un Op
- Python
- TypeScript
Pour supprimer une version d’un Op, appelez Tenter d’accéder à un Op supprimé renvoie une erreur.
.delete() sur la référence de l’Op.