Passer au contenu principal
AutoGen est un framework de Microsoft permettant de créer des agents et des applications d’IA. Il simplifie la création de systèmes multi-agents complexes. AutoGen propose des composants pour l’IA conversationnelle (AgentChat), les fonctionnalités multi-agents de base (Core) et les intégrations avec des services externes (Extensions). AutoGen propose également un Studio pour le prototypage d’agents sans code. Pour en savoir plus, consultez la documentation officielle d’AutoGen.
Ce guide part du principe que vous avez une compréhension de base d’AutoGen.
Weave s’intègre à AutoGen pour vous aider à suivre et à visualiser l’exécution de vos applications multi-agents. Lorsque vous initialisez Weave, il suit automatiquement les interactions dans autogen_agentchat, autogen_core et autogen_ext. Ce guide vous explique comment configurer Weave avec AutoGen et présente des exemples détaillés couvrant les clients de modèle, les agents avec outils, les discussions de groupe, la mémoire, les flux de travail RAG, les runtimes d’agents, les flux de travail séquentiels et les exécuteurs de code. À la fin, vous pourrez capturer des traces détaillées de vos applications AutoGen dans Weave afin de déboguer le comportement des agents, de surveiller l’utilisation des LLM et de comprendre comment les agents interagissent dans des flux de travail complexes.

Prérequis

Avant de commencer, vous devez avoir AutoGen et Weave installés. Vous avez également besoin des SDK des fournisseurs de LLM que vous prévoyez d’utiliser (par exemple, OpenAI ou Anthropic).
Configurez vos clés API sous forme de variables d’environnement afin que les clients de modèles puissent s’authentifier auprès des fournisseurs de LLM utilisés dans les exemples qui suivent :

Configuration de base

Initialisez Weave au début de votre script pour commencer à capturer des traces. Une fois Weave initialisé, il instrumente automatiquement les appels AutoGen dans le reste de votre script.
Après avoir exécuté cet extrait, Weave est configuré pour envoyer les traces au projet autogen-demo et capture automatiquement toute activité AutoGen ultérieure dans votre script.

Traces d’un client de modèle

Les sections suivantes décrivent comment Weave trace les appels adressés directement aux clients de modèle dans AutoGen, y compris les appels uniques, les réponses en streaming et les réponses mises en cache.

Traces d’un appel à la méthode create du client

Cet exemple montre le tracing d’un appel à un OpenAIChatCompletionClient.
autogen-simple-client.png

Traces pour un appel create du client avec streaming

Weave prend également en charge le Tracing des réponses en streaming.
autogen-streaming-client.png

Traces pour les appels client mis en cache

Vous pouvez utiliser ChatCompletionCache d’AutoGen ; Weave trace ces interactions et indique si une réponse provient du cache ou d’un nouvel appel.
autogen-cached-client.png

Traces pour un agent avec des appels d’outils

Cette section montre comment Weave assure le tracing des agents et de leur utilisation des outils, ce qui permet de voir comment les agents sélectionnent et exécutent les outils. L’exemple suivant définit un outil de météo et l’associe à un AssistantAgent.
autogen-agent-tools.png

Traces pour un GroupChat round robin

Weave trace les interactions au sein des discussions de groupe, comme RoundRobinGroupChat, afin que vous puissiez suivre le fil de la conversation entre les agents. Pour regrouper tous les tours de conversation des agents sous une trace parente unique afin de faciliter l’inspection, encapsulez la fonction de discussion de groupe avec @weave.op. Cette étape est facultative, mais recommandée.
round_robin_group_chat.png

Traces pour la mémoire

Weave peut tracer les composants de mémoire d’AutoGen. Utilisez @weave.op() pour regrouper les opérations de mémoire dans une même trace afin d’en améliorer la lisibilité, de sorte que les appels d’ajout en mémoire ainsi que les appels de récupération en mémoire apparaissent avec l’exécution de l’agent qui les utilise.
autogen-memory.png

Traces pour les flux de travail RAG

Weave peut tracer les flux de travail de Retrieval Augmented Generation (RAG), y compris l’indexation et la récupération de documents avec des systèmes de mémoire comme ChromaDBVectorMemory. Pour visualiser l’ensemble du flux afin que l’indexation, la récupération et l’appel LLM qui en résulte apparaissent ensemble dans une seule trace, ajoutez le décorateur @weave.op() au processus RAG.
L’exemple RAG nécessite chromadb. Installez-le avec pip install chromadb.
autogen-rag.png

Traces pour les runtimes d’agent

Weave peut tracer des opérations dans les runtimes d’agent d’AutoGen, comme SingleThreadedAgentRuntime. Encapsulez la fonction d’exécution du runtime avec @weave.op() pour regrouper les traces liées, afin de voir la séquence complète des gestionnaires de messages qui se déclenchent pendant l’exécution du runtime.
autogen-runtime.png

Traces pour les flux de travail séquentiels

Vous pouvez tracer des flux de travail d’agents complexes qui définissent des séquences d’interactions entre agents. Utilisez @weave.op() pour fournir une trace de haut niveau de l’ensemble du flux de travail afin que la contribution de chaque agent soit imbriquée sous un appel parent unique. L’exemple suivant enchaîne un extracteur de concepts, un rédacteur, un agent de mise en forme et de relecture, ainsi qu’un agent utilisateur pour produire un texte marketing soigné.
autogen-sequential-workflow.png

Traces pour les exécuteurs de code

Docker requis Cet exemple implique l’exécution de code avec Docker et peut ne pas fonctionner dans tous les environnements (par exemple, directement dans Colab). Assurez-vous que Docker est en cours d’exécution en local si vous essayez cet exemple.
Weave trace la génération et l’exécution du code par les agents AutoGen. Vous pouvez inspecter à la fois le code produit par un agent assistant et la sortie renvoyée par un agent exécuteur lorsque ce code est exécuté.
autogen-codegen.png

En savoir plus

Consultez les guides suivants pour mieux comprendre le Tracing et les opérations de Weave. Ce guide constitue un point de départ pour intégrer Weave à AutoGen. Explorez le Weave UI pour consulter des traces détaillées des interactions de votre agent, des appels au modèle et de l’utilisation des outils.