Schéma agent ADK avec mémoire et MCP

1. Objectifs de l'atelier

Bienvenue dans la masterclass ADK : votre parcours dans les systèmes multi-agents

Vous êtes sur le point de découvrir le monde passionnant des agents d'IA. Oubliez les chatbots simples qui se contentent de répondre aux questions. Nous explorons en détail Agent Development Kit (ADK) pour créer des systèmes autonomes sophistiqués capables de raisonner, de planifier et d'utiliser des outils pour accomplir des tâches complexes.

reprise

À la fin de ce tutoriel, vous serez en mesure de :

  • Créez votre premier agent d'IA : passez de zéro à un agent entièrement fonctionnel capable de comprendre les besoins d'un utilisateur, d'utiliser des outils comme la recherche Google et de générer des réponses détaillées et utiles.
  • Construire des systèmes multi-agents : découvrez le modèle Agent-as-a-Tool, un concept révolutionnaire dans lequel les agents délèguent des tâches à d'autres agents spécialisés, créant ainsi une équipe d'experts en IA qui travaillent ensemble.
  • Orchestrez des workflows complexes : allez au-delà de la simple délégation et maîtrisez les modèles avancés tels que les routeurs, les chaînes séquentielles, les boucles et l'exécution parallèle pour créer des applications robustes, efficaces et intelligentes capables de gérer presque toutes les requêtes.
  • Donnez de la mémoire à vos agents : comprenez le rôle essentiel de la mémoire conversationnelle, qui permet à vos agents de répondre aux questions complémentaires, d'apprendre des commentaires et de gérer les tâches en plusieurs étapes de manière fluide.
  • Se connecter à MCP : boîte à outils "Se connecter à MCP".

C'est parti ! 🚀

2. Configurer une clé API GCP et Gemini

Configurer votre projet GCP et votre clé API Gemini

Pour alimenter nos agents d'IA, nous avons besoin de deux éléments : un projet Google Cloud pour fournir la base et une clé API Gemini pour accéder aux puissants modèles de Google.

Étape 1 : Activez le compte de facturation

  • Réclamez votre compte de facturation avec un crédit de 5 $, dont vous aurez besoin pour votre déploiement. Assurez-vous d'utiliser votre compte Gmail.

Étape 2 : Créer un projet GCP

  • Accédez à la console Google Cloud et créez un projet.

créer un compte GCP

  • Accédez à la console Google Cloud et créez un projet.
  • Ouvrez le panneau de gauche, cliquez sur Billing et vérifiez si le compte de facturation est associé à ce compte GCP.

Associer le compte de facturation au compte GCP

Si cette page s'affiche, cochez la case manage billing account, puis sélectionnez l'essai Google Cloud et associez-le.

Étape 3 : Trouvez votre ID de projet Google Cloud

👉 Cliquez sur "Activer Cloud Shell" en haut de la console Google Cloud (icône en forme de terminal en haut du volet Cloud Shell), cloud-shell.png

👉 Cliquez sur le bouton "Ouvrir l'éditeur" (icône en forme de dossier ouvert avec un crayon). L'éditeur de code Cloud Shell s'ouvre dans la fenêtre. Un explorateur de fichiers s'affiche sur la gauche. open-editor.png

👉 Trouvez votre ID de projet Google Cloud :

  • Ouvrez la console Google Cloud : lien.
  • Sélectionnez le projet que vous souhaitez utiliser pour cet atelier dans le menu déroulant en haut de la page.
  • L'ID de votre projet est affiché dans la fiche "Informations sur le projet" du tableau de bord.

03-04-project-id.png

👉💻 Dans le terminal, vérifiez que vous êtes déjà authentifié et que le projet est défini sur votre ID de projet à l'aide de la commande suivante :

gcloud auth list

👉💻 Clonez le projet bootstrap depuis GitHub :

git clone https://github.com/cuppibla/adk_tutorial.git

👉💻 Exécutez le script d'initialisation. Il vous invitera à saisir l'ID de votre projet Google Cloud. Saisissez l'ID de projet Google Cloud que vous avez trouvé à la dernière étape lorsque le script setup_venv.sh vous y invite.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

3. Session 1 : Votre premier agent dans ADK Web

Ouvrez ADK Web en exécutant la commande suivante :

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

Une fois les commandes exécutées, vous devriez voir dans votre terminal un résultat indiquant que le serveur Web ADK a démarré, comme ceci :

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

👉 Ensuite, pour accéder à l'UI pour les développeurs d'ADK depuis votre navigateur :

Dans la barre d'outils Cloud Shell (généralement en haut à droite), cliquez sur l'icône Aperçu sur le Web (qui ressemble souvent à un œil ou à un carré avec une flèche), puis sélectionnez "Modifier le port". Dans la fenêtre pop-up, définissez le port sur 8000, puis cliquez sur Modifier et prévisualiser. Cloud Shell ouvre alors un nouvel onglet ou une nouvelle fenêtre de navigateur affichant l'UI pour les développeurs d'ADK.

webpreview

👉 Votre rituel d'invocation est terminé et l'agent est maintenant en cours d'exécution. L'interface utilisateur de développement de l'ADK dans votre navigateur est votre connexion directe à Familiar.

Choisir l'agent de workflow parallèle : dans le menu déroulant en haut de l'UI, sélectionnez parallel_agent.

Vous pouvez sélectionner single_agent ici : tracé d'image d'agents uniques

Vous pouvez consulter le traçage ici : tracé d'un seul agent

👉 Requête de test :

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

4. Session 2 : Agent de workflow : agent séquentiel, agent parallèle, agent de boucle

Agent parallèle

Choisir l'agent de workflow parallèle : dans le menu déroulant en haut de l'UI, sélectionnez parallel_agent.

👉 Requête de test :

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

Vous pouvez sélectionner parallel_agent ici : Image de traçage des agents parallèles

Vous pouvez consulter le traçage ici : Image de traçage des agents parallèles

Agent séquentiel

Choisissez l'agent de workflow séquentiel. Dans le menu déroulant en haut de l'UI, sélectionnez sequential_agent.

👉 Requête de test :

Find a good sushi near Standford and tell me how to get there.

Vous pouvez sélectionner sequential_agent ici : Image de traçage des agents séquentiels

Vous pouvez consulter le traçage ici : tracing picture of sequential_agent

Agent de boucle

Choisissez l'agent de workflow Loop : dans le menu déroulant en haut de l'UI, sélectionnez loop_agent.

👉 Requête de test :

Plan a trip from Sunnyvale to San Francisco today.

Vous pouvez sélectionner loop_agent ici : Image de traçage des agents de boucle

Vous pouvez consulter le traçage ici : Image de traçage des agents de boucle

5. Session 3 : Agent personnalisé

Une fois l'interface utilisateur Web de l'ADK ouverte, vous pouvez sélectionner l'agent Custom_Agent.

👉 Requête de test :

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

Vous pouvez sélectionner Custom_Agent ici : tracing picture of Custom_Agent

Vous pouvez consulter le traçage ici : tracing picture of Custom_Agent

6. Session 4 : Modèle d'orchestrateur – Agent de routage

Une fois l'interface utilisateur Web de l'ADK ouverte, vous pouvez sélectionner routing_agent.

👉 Requête de test :

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Vous pouvez sélectionner routing_agent ici : Image de traçage des agents de routage

Vous pouvez consulter le traçage ici : Image de traçage des agents de routage

7. Session 5 : L'agent comme outil

Une fois l'interface utilisateur Web de l'ADK ouverte, vous pouvez sélectionner l'agent Agent_as_tool.

👉 Requête de test :

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Vous pouvez sélectionner agent_as_tool ici : Image de traçage de l'agent en tant qu'outil

Vous pouvez consulter le traçage ici : Image de traçage des agents de routage

8. Session 6 : Agent avec mémoire à long terme

👉💻 Testez votre mémoire à long terme en accédant au dossier et en utilisant le runner pour alimenter l'agent :

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Requête de test :

I like Art and Italian food.

Mettez ensuite fin à la session en appuyant sur "ctrl+C". Redémarrez la session :

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Requête de test :

Plan a trip to San Francisco based on my preference.

9. Session 7 : Renforcez votre agent avec le protocole MCP

Étape 1 : Préparez la base de données locale

👉💻 Exécutez la commande suivante dans votre terminal.

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

Étape 2 : Installez et exécutez le serveur MCP Toolbox

👉💻 Exécutez la commande suivante dans votre terminal.

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

une fois le téléchargement terminé, puis exécutez

chmod +x toolbox

Étape 3

Dans un terminal, exécutez la commande suivante :

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

Dans un autre terminal, exécutez la commande suivante :

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py