Vous pouvez tracer les appels d’agent et d’outil PydanticAI dans Weave à l’aide d’OpenTelemetry (OTEL). PydanticAI est un framework d’agents Python développé par l’équipe Pydantic pour créer simplement, et avec un typage sûr, des applications d’IA générative prêtes pour la production. Il s’appuie sur OTEL pour tracer tous les appels d’agent et d’outil.
Ce guide s’adresse aux développeurs qui créent des agents PydanticAI et souhaitent observer l’exécution de leurs agents et outils dans Weave. Il explique comment tracer les appels d’agent et d’outil PydanticAI avec OTEL, puis visualiser ces traces dans Weave. Vous apprendrez à installer les dépendances requises, à configurer un traceur OTEL pour envoyer des données vers Weave et à instrumenter vos agents et outils PydanticAI. Vous verrez également comment activer le traçage par défaut pour tous les agents de votre application.
Prérequis
Avant de pouvoir envoyer des traces vers Weave, vous devez installer les dépendances OTEL et configurer un exportateur OTEL. Installez les dépendances OTEL requises :
Ensuite, configurez le traçage OTEL dans Weave.
Pour envoyer des traces de PydanticAI vers Weave, configurez OTEL avec un TracerProvider et un OTLPSpanExporter. Configurez l’exportateur avec le point de terminaison et les en-têtes HTTP appropriés pour l’authentification et l’identification du projet.
Stockez les variables d’environnement sensibles, comme votre clé API et les informations de votre projet, dans un fichier d’environnement (par exemple, .env), puis chargez-les à l’aide de os.environ. Vos identifiants d’authentification restent ainsi protégés et hors de votre base de code.
Configuration requise
- Point de terminaison :
https://trace.wandb.ai/otel/v1/traces
- En-têtes :
Authorization : authentification Basic avec votre clé API W&B.
project_id : votre entity W&B et le nom de votre projet (par exemple, myteam/myproject).
Exemple de configuration
L’extrait de code suivant montre comment configurer un exportateur de spans OTLP et un fournisseur de traceurs afin d’envoyer vers Weave les traces OTEL d’une application PydanticAI.
Vous disposez maintenant d’un tracer_provider que vous pouvez transmettre aux agents PydanticAI afin d’acheminer leurs traces OTEL vers Weave.
Tracer les agents PydanticAI avec OTEL
Pour tracer vos agents PydanticAI et envoyer les données de trace vers Weave, transmettez au constructeur Agent un objet InstrumentationSettings configuré avec votre fournisseur de traceurs. Tous les appels d’agent et d’outil sont ainsi tracés conformément à votre configuration OTEL.
L’exemple suivant montre comment créer un agent de base avec le traçage activé. L’étape essentielle consiste à définir l’argument instrument lors de l’initialisation de l’agent :
Tous les appels à l’agent sont tracés et envoyés vers Weave.
Weave peut tracer toutes les opérations PydanticAI instrumentées avec OTEL, y compris les appels d’agent et les appels d’outil. Ainsi, lorsque votre agent invoque un outil (par exemple, une fonction décorée avec @agent.tool_plain), l’ensemble de l’interaction est capturé et visualisé dans Weave, notamment les entrées et sorties de l’outil ainsi que le raisonnement du modèle.
L’exemple suivant montre comment créer un agent doté d’un prompt système et d’un outil. Le traçage est activé automatiquement pour l’agent comme pour l’outil :
L’appel de l’agent et l’appel d’outil sont tous deux tracés dans Weave, ce qui vous permet d’examiner l’intégralité du raisonnement et du chemin d’exécution de votre application.
Instrumenter tous les agents par défaut
Pour appliquer le traçage OTEL à tous les agents PydanticAI de votre application, utilisez la méthode Agent.instrument_all(). Cette méthode définit une instance InstrumentationSettings par défaut pour tout agent qui ne spécifie pas explicitement le paramètre instrument.
Cette approche est utile pour les applications de grande taille, où vous souhaitez un traçage cohérent sur l’ensemble des agents sans avoir à répéter la configuration. Pour en savoir plus, consultez la documentation OTEL de PydanticAI.
En savoir plus
Dernière modification le 30 septembre 2026