Exploiter Composio pour des Applications Avancées d'IA Multi-Agents
Introduction
Bonjour ! Je suis Tommy, et aujourd'hui, nous plongeons dans le monde fascinant de l'automatisation pilotée par l'IA en utilisant le cadre Composio. Composio dynamise les agents d'IA en leur permettant d'interagir harmonieusement avec plus de 150 outils, ce qui en fait une solution puissante pour automatiser des tâches complexes avec un effort minimal.
Dans ce guide, nous explorerons comment exploiter la puissance de Composio et du cadre AutoGen pour créer un système multi-agent qui lit les retours clients à partir d'un fichier CSV, analyse les données, et génère un rapport détaillé dans un document Google. Restez avec nous pour voir tout cela s'assembler avec des exemples pratiques et des idées concrètes, avec une mise en œuvre pratique dans Google Colab à la fin !
Prérequis
Avant de plonger dans ce tutoriel, assurez-vous d'avoir ce qui suit :
- Python (3.8 ou supérieur): Assurez-vous que Python est installé sur votre système. Vous pouvez le télécharger depuis le site officiel de Python.
- Conda: Nous utiliserons un environnement Conda pour gérer les dépendances. Si vous n'avez pas Conda installé, suivez le guide d'installation ici.
- VS Code: Nous travaillerons dans Visual Studio Code pour gérer nos fichiers de projet et notre code. Vous pouvez le télécharger ici.
- Compte Composio: Inscrivez-vous pour un compte gratuit sur le site officiel de Composio et obtenez l'accès aux plus de 150 outils externes qu'il intègre.
- Clé API Groq: Vous pouvez accéder à la clé API ici après vous être inscrit.
- Compte Google: Nous allons interagir avec Google Docs.
Mise en Place de l'Environnement
Commençons par configurer notre environnement. Voici comment procéder étape par étape :
Étape 1 : Créer un Répertoire et l'ouvrir dans VS Code
Tout d'abord, ouvrez votre terminal et créez un nouveau répertoire pour votre projet. Vous pouvez nommer le répertoire comme vous le souhaitez, mais pour ce tutoriel, nous utiliserons composio-test
. Ensuite, naviguez dans le répertoire.
Une fois à l'intérieur du répertoire, ouvrez-le dans Visual Studio Code en exécutant la commande suivante :
code .
Cela ouvre le répertoire actuel dans VS Code.
Étape 2 : Créer et Activer un Environnement Conda
Ensuite, vous devrez créer un nouvel environnement Conda. Cet environnement abritera toutes les dépendances nécessaires pour ce projet. Pour ce faire, exécutez la commande ci-dessous dans votre terminal vscode :
conda create --name composio-test python=3.8
Après la création de l'environnement, activez-le :
conda activate composio-test
Étape 3 : Créer un Fichier Python
Dans le répertoire de VS Code, créez un nouveau fichier appelé app.py
. Cela servira de fichier principal où vous écrirez la logique de votre système multi-agent.
Étape 4 : Sélectionner l'Interpréteur Correct dans VS Code
Assurez-vous que votre VS Code utilise l'interpréteur de l'environnement Conda composio-test
. Pour ce faire :
- Ouvrez la Palette de Commandes dans VS Code (
Cmd/Ctrl + Shift + P
). - Cherchez
Python: Select Interpreter
. - Sélectionnez l'interpréteur qui correspond à votre nouvel environnement Conda (par exemple,
/opt/anaconda3/envs/composio-test/bin/python
).
Étape 5 : Installer les Packages Requis
Maintenant que votre environnement est configuré, installons les dépendances nécessaires en utilisant pip
. Dans ce cas, nous installerons composio-autogen
et python-dotenv
:
pip install composio-autogen python-dotenv
Étape 6 : Se Connecter à Composio
Une fois vos packages installés, vous devez vous connecter à Composio. Exécutez la commande suivante :
composio login
Cela vous invitera à suivre les étapes de connexion, y compris l'entrée d'une clé générée.
Étape 7 : Ajouter l'Outil Google Docs
Avec Composio configuré, il est temps d'ajouter l'outil Google Docs puisque nous allons l'utiliser pour générer un rapport plus tard. Exécutez la commande ci-dessous :
composio add google_docs
Construction du Système Multi-Agent
Maintenant, nous allons construire le système multi-agent en utilisant Composio et AutoGen. Le système sera divisé en deux parties pour mettre pleinement en valeur Composio en action et assurer une bonne communication entre les agents.
Étape 1 : Créer le Fichier CSV
Tout d'abord, créez un fichier CSV nommé dummy_customer_feedback.csv
qui contient des données de retour client, des évaluations, des noms, et plus encore. Voici un exemple, mais n'hésitez pas à modifier ou à ajouter plus de lignes pour l'adapter à votre cas d'utilisation :
Name,Rating,Feedback
Alice,5,Super service !
Bob,3,Expérience correcte.
Charlie,4,Très satisfait.
Ce fichier servira de source de données pour l'analyse par nos agents.
Étape 2 : Configurer les Variables d'Environnement
Créez un fichier .env
pour stocker vos clés API. Vous aurez besoin d'une clé API Groq pour le modèle LLaMA3-70B et d'une clé API Composio, que vous pourrez trouver dans les paramètres de votre compte Composio. Le fichier .env
devrait ressembler à ceci :
GROQ_API_KEY=your_groq_api_key
COMPOSIO_API_KEY=your_composio_api_key
Étape 3 : Importer les Packages Requis
Maintenant, importons les packages nécessaires dans votre app.py
:
import os
import pandas as pd
from dotenv import load_dotenv
from composio import Composio
Étape 4 : Charger les Variables d'Environnement
Utilisez la bibliothèque dotenv pour charger vos variables d'environnement :
load_dotenv()
Étape 5 : Définir la Configuration du LLM
Étant donné que nous utilisons le modèle LLaMA3-70B de Groq, définissez la configuration comme suit :
config = {
'model': 'LLaMA3-70B',
'api_key': os.getenv('GROQ_API_KEY')
}
Partie Un :
Nous créons des agents spécifiquement pour la tâche de lire, d'analyser et de fournir un rapport de résumé détaillé des indicateurs clés obtenus lors de l'analyse d'un fichier CSV contenant des retours clients.
Étape 1 : Créer l'Agent d'Analyse des Données
Ensuite, définissez l'agent spécialisé dans les données, qui fournira un rapport de résumé des indicateurs clés et des tendances après avoir analysé les données CSV.
Étape 2 : Créer l'Agent de Parseur de Fichiers
L'agent de Parseur de Fichiers s'occupera de la lecture, de l'extraction et du formatage du contenu des fichiers CSV :
Étape 3 : Créer l'Agent Utilisateur
L'agent Utilisateur collectera et fournira le résumé final de l'agent spécialisé dans les données :
Étape 4 : Créer le Chat de Groupe et le Manager
Maintenant, nous allons mettre en place un GroupChat et un GroupChatManager pour faciliter la communication entre les agents :
Nous initialisons maintenant l'Ensemble d'Outils Composio, qui donne accès à tous les outils disponibles pour nos agents :
Nous enregistrons les outils qui seront utilisés par les agents de Parseur de Fichiers et de Spécialiste des Données :
En définissant le paramètre d'applications, notre agent a accès à toutes les actions dans l'application FILETOOL. Nous pouvons également rationaliser le type d'accès dont notre agent dispose en définissant le paramètre d'actions et en passant la liste des actions auxquelles nous voulons que l'agent ait uniquement accès.
Étape 7 : Définir la Tâche et Exécuter le Chat
Définissez la tâche qui doit être effectuée, y compris le nom du fichier CSV :
Enfin, récupérez le rapport de résumé fourni par l'agent spécialisé dans les données :
Partie 2 :
Dans la Partie Deux, nous allons étendre le système construit dans la Partie Une pour écrire le rapport de résumé dans un document Google en utilisant Composio et AutoGen. Nous créerons de nouveaux agents spécifiquement pour cette tâche et utiliserons les outils Google Docs disponibles via Composio.
Étape 1 : Créer des Agents pour l'Écriture dans Google Docs
Nous commençons par définir les agents responsables de l'écriture du rapport de résumé dans un document Google.
- Agent Écrivain de Document: Cet agent initie l'opération d'écriture dans le document Google.
- Agent Écrivain de Contenu: Cet agent est responsable de l'écriture du contenu dans le document Google.
- Agent Utilisateur: Cet agent s'assure que le rapport de résumé est correctement écrit dans le document Google.
Étape 2 : Configurer le Chat de Groupe et le Manager
Nous allons ensuite mettre en place un nouveau GroupChat et un GroupChatManager pour coordonner ces agents :
Étape 3 : Enregistrer l'Outil Google Docs
Ensuite, nous enregistrons l'outil Google Docs dans Composio pour nos agents :
Étape 4 : Écrire le Résumé dans Google Docs
Maintenant, nous lançons le chat où le rapport de résumé généré dans la Partie Un est écrit dans un document Google intitulé "Rapport de Retours Utilisateur" :
Exécution du Fichier Python
Maintenant que notre système multi-agent est entièrement configuré, il est temps de le voir en action ! Nous allons exécuter notre script Python en utilisant le terminal dans VSCode pour observer la magie se déployer.
Dans votre terminal VSCode, assurez-vous d'être dans le répertoire racine où se trouve votre fichier app.py
. Ensuite, exécutez le script en exécutant :
python app.py
Assurez-vous d'utiliser le chemin de votre environnement conda.
Revoir le Flux d'Exécution
Une fois votre fichier Python exécuté, les journaux de chaque agent et outil devraient être visibles, la verbosité étant activée par défaut. Maintenant, voyons le pouvoir des outils Composio en action.
Vous devriez voir tous les outils disponibles dans FILETOOL, l'agent spécialisé des données suggérant des actions d'outils à effectuer en fonction de la tâche.
L'agent délègue ensuite l'exécution à l'agent de PARSEUR DE FICHIER et d'EXTRACTEUR, que nous avons défini précédemment comme l'exécutant pour le FILETOOL.
Après que l'agent Extractor exécutera toutes les appels d'outils suggérés par l'agent spécialiste des données, il retournera tous les champs dans le fichier CSV de manière formatée.
Ensuite, il donne les données à l'agent spécialiste des données pour générer un résumé de rapport détaillé en fonction de cela. L'agent spécialiste des données génère alors le résumé du rapport.
Ensuite, l'agent utilisateur commence en passant le rapport de résumé fourni par l'agent spécialiste des données au Group Chat Manager, qui appelle alors l'agent écrivain de document.
L'agent écrivain de document, armé de toutes les actions pour interagir avec Google Docs, suggère maintenant des appels d'outils pour que l'agent écrivain de contenu les effectue.
L'agent écrivain de contenu commence alors l'exécution et écrit le résumé dans le document Google tel que défini par l'agent écrivain de document.
Après l'exécution, vérifiez vos récentes dans Google Drive, et vous devriez voir le fichier nommé 'Rapport de Retours Utilisateur' avec le rapport de résumé.
Prochaines Étapes : Élargir Votre Utilisation de Composio
Maintenant que vous avez construit et exécuté avec succès un système multi-agent avec Composio, il y a plusieurs pistes passionnantes à explorer ensuite :
- Utilisation de Déclencheurs pour des Actions Automatisées: Les déclencheurs sont une fonctionnalité puissante de Composio qui peut automatiser les flux de travail en fonction d'événements ou de conditions spécifiques. Vous pouvez configurer des déclencheurs pour initier des actions automatiquement lorsque certains critères sont remplis, comme l'envoi de notifications, la mise à jour de bases de données, ou l'exécution de tâches spécifiques en réponse à des changements dans vos données. Cela peut rendre votre système multi-agent encore plus réactif et autonome, réduisant la nécessité d'intervention manuelle.
- Intégration d'Outils et d'APIs Supplémentaires: Composio prend en charge un large éventail d'outils et d'APIs que vous pouvez intégrer à votre système. Par exemple, vous pourriez ajouter des outils pour l'analyse des réseaux sociaux, la gestion de bases de données ou le stockage cloud, permettant à vos agents de réaliser des tâches encore plus diverses. Explorer le marché de Composio vous donnera des idées sur l'élargissement des capacités de votre système.
- Explorer des Interactions Avancées entre Agents: Bien que ce tutoriel se soit concentré sur une configuration multi-agent simple, Composio permet des interactions entre agents beaucoup plus complexes. Vous pourriez expérimenter avec des structures d'agents hiérarchiques, où certains agents gèrent ou supervisent d'autres, ou explorer l'apprentissage coopératif, où les agents partagent des connaissances pour améliorer leurs performances au fil du temps.
- Expansion vers d'autres Modèles IA: Bien que vous ayez utilisé le modèle Groq Llama3-70b dans ce tutoriel, Composio prend en charge divers modèles d'IA. Vous pourriez expérimenter avec différents modèles ou même intégrer des modèles entraînés sur mesure pour adapter les performances de vos agents à des besoins spécifiques.
Conclusion
Dans ce tutoriel, nous avons exploré la création d'un système multi-agent en utilisant Composio et AutoGen, axé sur l'analyse des retours clients à partir d'un fichier CSV et la génération d'un rapport de résumé. Nous avons parcouru la configuration de l'environnement, la configuration des agents, et l'utilisation d'outils pour lire et analyser des données, suivie de l'écriture du résumé dans un document Google. Ce processus a démontré comment Composio peut être exploité pour des flux de travail complexes impliquant plusieurs agents tout en garantissant un contexte et une coordination appropriés.
Au cours du projet, j'ai rencontré des défis avec l'API OpenAI et le retrait des rapports de résumé en une seule étape. Pour surmonter ces problèmes, j'ai opté pour l'utilisation de l'API Groq et j'ai divisé le processus en deux parties, ce qui a atteint le résultat souhaité avec succès. Ces expériences ont mis en évidence à la fois la flexibilité de Composio et l'importance du dépannage et de l'adaptation lors de l'utilisation de nouveaux outils et cadres.
La vaste gamme d'outils de Composio et son intégration facile en font un choix puissant pour les développeurs cherchant à améliorer leurs projets avec des capacités d'IA. Je vous encourage à explorer davantage Composio en consultant la documentation officielle. Il y a beaucoup plus à découvrir, et je suis impatient de continuer à expérimenter avec ce cadre polyvalent.
Bon codage!
Laisser un commentaire
Tous les commentaires sont modérés avant d'être publiés.
Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.