Exploitation de Composio pour des applications avancées d'IA multi-agents
Bonjour ! Je suis Tommy, et aujourd'hui nous plongeons dans le monde fascinant de l'automatisation alimentée par l'IA en utilisant le framework Composio. Composio dynamise les agents IA en leur permettant d'interagir sans effort avec plus de 150 outils, en faisant une solution puissante pour automatiser des tâches complexes avec un minimum d'effort.
Dans ce guide, nous allons explorer comment tirer parti de la puissance de Composio et du framework AutoGen pour créer un système multi-agents 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 se concrétiser 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 les éléments suivants :
- Python (3.8 ou supérieur) : Assurez-vous que Python est installé sur votre système. Vous pouvez le télécharger sur 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 accédez 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 interagirons avec Google Docs.
Configuration de l'environnement
Commençons par configurer notre environnement. Voici comment procéder étape par étape :
Étape 1 : Créer un répertoire et 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, accédez au répertoire. Une fois à l'intérieur du répertoire, ouvrez-le dans Visual Studio Code en exécutant la commande suivante :
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 à ce projet. Pour ce faire, exécutez la commande ci-dessous dans votre terminal VS Code :
conda create --name composio-test python=3.8
Une fois l'environnement créé, 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
. Ce fichier servira de principal fichier dans lequel vous écrirez la logique pour votre système multi-agents.
É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 cela :
- Ouvrez la Palette de commandes dans VS Code (Cmd/Ctrl + Shift + P).
- Recherchez "Python : Sélectionner l'interpréteur."
- Sélectionnez l'interpréteur qui correspond à votre nouvel environnement Conda (par exemple, composio-test).
Il devrait afficher un chemin semblable à /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 allons installer 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 la saisie 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 suivante :
composio add google-docs
Construction du système multi-agents
Maintenant, nous allons construire le système multi-agents en utilisant Composio et AutoGen. Le système sera divisé en deux parties pour montrer pleinement Composio en action et assurer une communication correcte 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 retours clients, des notes, des noms, etc. Voici un exemple, mais n'hésitez pas à modifier ou à ajouter plus de lignes pour correspondre à votre cas d'utilisation :
name,rating,feedback John Doe,5,Excellent service ! Jane Doe,4,Bien mais pourrait être plus rapide.
É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 pouvez 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 différents packages nécessaires dans votre app.py
:
import os import pandas as pd from dotenv import load_dotenv from composio import ComposioToolset
É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 LLM
Puisque nous utilisons le modèle LLaMA3-70B de Groq, définissons la configuration comme suit :
LLM_CONFIG = {...}
Première partie :
Nous créons des agents spécifiquement pour la tâche de lecture, d'analyse et de fourniture d'un rapport de synthèse 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 Data Insights Specialist, qui fournira un rapport récapitulatif des indicateurs clés et des tendances après avoir analysé les données CSV.
Étape 2 : Créer l'agent d'analyse de fichier
L'agent d'analyse de fichier s'occupera de lire, d'extraire et de formater le contenu des fichiers CSV :
Étape 3 : Créer l'agent utilisateur
L'Agent Utilisateur collectera et renverra le résumé final de l'agent Data Insights Specialist :
Étape 4 : Créer le groupe de chat et le gestionnaire
Maintenant, nous allons configurer un GroupChat et un GroupChatManager pour faciliter la communication entre les agents :
group_chat = ...
Étape 5 : Initialiser l'outil Composio
Nous allons maintenant initialiser l'outil Composio, qui donne accès à tous les outils disponibles pour nos agents :
toolset = ComposioToolset(api_key=os.getenv('COMPOSIO_API_KEY'))
Étape 6 : Enregistrer les outils
Nous enregistrons les outils qui seront utilisés par l'agent d'analyse de fichier et l'agent Data Insights Specialist :
toolset.register_tool('FILETOOL', actions=[...])
É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 :
task = {...}
Enfin, récupérez le rapport de synthèse fourni par l'agent Data Insights Specialist :
summary_report = data_insights_specialist.get_summary()
Deuxième partie :
Dans la deuxième partie, nous allons étendre le système construit dans la première partie pour écrire le rapport de synthèse 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 synthèse 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 synthèse est correctement écrit dans le document Google.
Étape 2 : Configurer le groupe de chat et le gestionnaire
Nous mettons ensuite 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 première partie sera écrit dans un document Google intitulé "Rapport de retours des utilisateurs" :
Exécution du fichier Python
Maintenant que notre système multi-agents est entièrement configuré, il est temps de le voir en action ! Nous allons exécuter notre script Python en utilisant le terminal dans VS Code pour observer la magie se dérouler. Dans votre terminal VS Code, assurez-vous d'être dans le répertoire racine où se trouve votre fichier app.py
. Ensuite, exécutez le script en utilisant :
python app.py
Assurez-vous d'utiliser le chemin vers votre environnement conda.
Revue du flux d'exécution
Une fois que vous exécutez votre fichier Python, les journaux pour chaque agent et outil devraient être visibles, car la verbosité est 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 Data Insights Specialist suggérant des actions d'outils à effectuer en fonction de la tâche. L'agent délègue ensuite l'exécution à l'agent d'analyse de fichier et d'extraction, que nous avons défini plus tôt comme l'exécuteur pour le FILETOOL.
Après que l'agent Extractor exécute tous les appels aux outils suggérés par l'agent Data Specialist, il retourne tous les champs dans le fichier CSV de manière formatée. Puis, il donne les données à l'agent Data Specialist pour générer un résumé détaillé en fonction de cela. L'agent Data Specialist génère ensuite le résumé du rapport.
Ensuite, l'agent utilisateur commence en passant le rapport de résumé fourni par l'agent Data Specialist au Group Chat Manager, qui appelle ensuite 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 que l'agent écrivain de contenu doit effectuer. L'agent écrivain de contenu commence alors l'exécution et écrit le résumé dans le document Google comme défini par l'agent écrivain de document.
Après l'exécution, vérifiez vos récents dans Google Drive, et vous devriez voir le fichier nommé 'Rapport de retours des utilisateurs' 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-agents avec Composio, il existe plusieurs avenues passionnantes à explorer ensuite :
- Utilisation de déclencheurs pour des actions automatisées : Les déclencheurs sont une fonctionnalité puissante de Composio qui peut automatiser des flux de travail basés sur des événements ou des conditions spécifiques. Vous pouvez configurer des déclencheurs pour initier des actions automatiquement en fonction de certains critères.
- Intégration d'outils et d'API supplémentaires : Composio prend en charge un large éventail d'outils et d'API que vous pouvez intégrer à votre système. Explorez le marché Composio pour des idées.
- Explorer des interactions avancées entre agents : Expérimentez avec des structures d'agents hiérarchiques ou un apprentissage coopératif parmi les agents.
- Extension à d'autres modèles d'IA : Essayez divers modèles d'IA pris en charge par Composio ou intégrez des modèles personnalisés pour des performances sur mesure.
Conclusion
Dans ce tutoriel, nous avons exploré la construction d'un système multi-agents en utilisant Composio et AutoGen, en nous concentrant sur l'analyse des retours clients à partir d'un fichier CSV et la génération d'un rapport de synthèse. 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.
Au cours du projet, j'ai rencontré des défis avec l'API OpenAI et la récupération de rapports de synthèse en une seule étape. Pour surmonter ces problèmes, je suis passé à l'utilisation de l'API Groq et j'ai scindé le processus en deux parties, ce qui a réussi à obtenir le résultat souhaité. Ces expériences ont mis en lumière à la fois la flexibilité de Composio et l'importance du dépannage et de l'adaptation lors de l'utilisation de nouveaux outils et frameworks.
La vaste gamme d'outils de Composio et son intégration facile en font un choix puissant pour les développeurs cherchant à enrichir 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 framework polyvalent.
Bonne codification !
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.