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.
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).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.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.
Traces pour un appel create du client avec streaming
Weave prend également en charge le Tracing des réponses en streaming.
Traces pour les appels client mis en cache
Vous pouvez utiliserChatCompletionCache d’AutoGen ; Weave trace ces interactions et indique si une réponse provient du cache ou d’un nouvel appel.
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 à unAssistantAgent.
Traces pour un GroupChat round robin
Weave trace les interactions au sein des discussions de groupe, commeRoundRobinGroupChat, 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.
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.
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 commeChromaDBVectorMemory. 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.
Traces pour les runtimes d’agent
Weave peut tracer des opérations dans les runtimes d’agent d’AutoGen, commeSingleThreadedAgentRuntime. 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.
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é.
Traces pour les exécuteurs de code
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é.
En savoir plus
Consultez les guides suivants pour mieux comprendre le Tracing et les opérations de Weave.- Weave:
- AutoGen: