CrewAI est un framework Python léger et ultra-rapide, entièrement développé from scratch, totalement indépendant de LangChain et des autres frameworks d’agents. CrewAI offre aux développeurs à la fois la simplicité d’abstractions de haut niveau (Crews) et un contrôle précis à bas niveau (Flows), ce qui en fait une solution idéale pour créer des agents d’IA autonomes adaptés à tous les cas d’usage. Pour en savoir plus, consultez la documentation de CrewAI.
Lorsque vous travaillez avec des agents d’IA, il est crucial de déboguer et de surveiller leurs interactions. Les applications CrewAI se composent souvent de plusieurs agents qui collaborent entre eux ; il est donc essentiel de comprendre comment ils coopèrent et communiquent. Weave simplifie ce processus en capturant automatiquement les traces de vos applications CrewAI, afin que vous puissiez surveiller et analyser les performances et les interactions de vos agents.
L’intégration prend en charge Crews et Flows.
Vous devez installer CrewAI (plus de détails) et weave pour exécuter cet exemple :
Nous allons maintenant créer un Crew CrewAI et suivre l’exécution à l’aide de Weave. Pour commencer, appelez simplement weave.init() au début de votre script. L’argument de weave.init() est le nom du projet dans lequel les traces seront enregistrées.
Weave suit et consigne tous les appels effectués via la bibliothèque CrewAI, y compris les interactions entre agents, les exécutions de tâches et les appels LLM. Vous pouvez consulter les traces dans l’interface web de Weave.
CrewAI fournit plusieurs méthodes pour mieux contrôler le processus de kickoff : kickoff(), kickoff_for_each(), kickoff_async() et kickoff_for_each_async(). L’intégration prend en charge la journalisation des traces pour toutes ces méthodes.
Les outils CrewAI offrent aux agents des capacités allant de la recherche sur le Web et de l’analyse de données à la collaboration et à la délégation de tâches entre collègues. L’intégration peut également en assurer le traçage.
Nous allons améliorer la qualité du rapport généré dans l’exemple ci-dessus en lui donnant accès à un outil capable d’effectuer des recherches sur Internet et de renvoyer les résultats les plus pertinents.
Commençons par installer la dépendance supplémentaire.
Dans cet exemple, nous utilisons SerperDevTool pour permettre à notre agent ‘Research Analyst’ d’effectuer des recherches d’informations pertinentes sur Internet. Pour en savoir plus sur cet outil et sur les exigences de l’API, cliquez ici.
Exécuter ce Crew avec un agent ayant accès à Internet produit de meilleurs résultats, plus pertinents. Nous traçons automatiquement l’utilisation des outils, comme illustré dans l’image ci-dessous.
L’intégration applique automatiquement un patch à tous les outils disponibles dans le dépôt crewAI-tools.
L’intégration applique automatiquement un patch au point d’entrée Flow.kickoff, ainsi que tous les décorateurs disponibles — @start, @listen, @router, @or_ et @and_.
Garde-fou Crew - Suivez vos propres ops
Les garde-fous de tâche permettent de valider et de transformer les résultats d’une tâche avant de les transmettre à la suivante. Vous pouvez utiliser une simple fonction Python pour valider l’exécution de l’agent à la volée.
En décorant cette fonction avec @weave.op, vous commencez à capturer les entrées, les sorties et la logique de l’application afin de pouvoir déboguer la manière dont les données sont validées par vos agents. Cela lance également automatiquement la gestion des versions du code pendant que vous expérimentez, afin de capturer des détails ad hoc qui n’ont pas encore été validés dans Git.
Prenons l’exemple d’un analyste de recherche et d’un rédacteur. Nous ajoutons un garde-fou pour valider la longueur du rapport généré.
En décorant simplement la fonction de garde-fou avec @weave.op, nous pouvons suivre les entrées et les sorties de cette fonction, ainsi que le temps d’exécution, les informations sur les tokens si un LLM est utilisé en arrière-plan, la version du code, et bien plus encore.
N’hésitez pas à nous faire savoir ce que nous devrions améliorer dans cette intégration. Si vous rencontrez un problème, veuillez ouvrir une issue ici.
Pour en savoir plus sur la création de puissants systèmes multi-agents avec CrewAI, consultez leurs nombreux exemples et leur documentation.