jlandure/adk-workshop

★ 0Forks 0PythonGitHub ↗Compare

README

ADK Workshop GDG Summit

Ce projet contient plusieurs agents développés avec le Google Agent Development Kit (ADK) lors du workshop GDG Summit.

📋 Prérequis

  • Python 3.8 ou plus récent
  • pip3
  • Un compte Google Cloud (pour le déploiement)
  • Une clé API Google AI (pour l'agent wad_demos)

🛠️ Configuration de l'environnement

1. Créer et activer un environnement virtuel

# Créer l'environnement virtuel
python3 -m venv .venv

# Activer l'environnement virtuel
source .venv/bin/activate

# Vous devriez voir (.venv) au début de votre prompt

2. Installer les dépendances

pip install adk python-dotenv

3. Configuration des variables d'environnement

Créez un fichier .env à la racine du projet :

# .env
GOOGLE_AI_API_KEY="votre_clé_api_google_ai"
GOOGLE_MAPS_API_KEY="votre_clé_api_google_maps"

Important : Le fichier .env est déjà ajouté au .gitignore pour éviter de committer vos clés API.

🤖 Les Agents

1. gdgsummit-workshop - Agent de base

  • Nom : root_agent
  • Fonction : Agent simple avec une fonction de lancer de dés
  • Modèle : gemini-2.0-flash-001
  • Outils : roll_dice (lance un dé avec un nombre de faces spécifié, max 42)

2. gdgsummit-level2 - Jeu "Devine le nombre"

  • Nom : guess_the_number_agent
  • Fonction : Jeu interactif où l'agent pense à un nombre entre 1 et 100
  • Modèle : gemini-2.0-flash-001
  • Outils :
    • start_game : Démarre une nouvelle partie
    • guess_number : Traite les propositions de l'utilisateur
  • Fonctionnalités : Gestion d'état avec ToolContext, 10 tentatives par partie

3. wad-demos - Guide touristique de Berlin

  • Nom : wad_demos
  • Fonction : Guide expert pour trouver des lieux amusants à Berlin
  • Modèle : gemini-2.0-flash-001
  • Outils : search_berlin_locations (recherche de lieux avec horaires et descriptions)
  • Spécialités : Recommandations pour des lieux comme Klunkerkranich, bars sur toit, musées, etc.

🚀 Lancement local

Démarrer l'interface web

# Assurez-vous que l'environnement virtuel est activé
source .venv/bin/activate

# Lancer l'interface web ADK
python3 -m adk web

L'interface web s'ouvrira automatiquement dans votre navigateur à l'adresse http://localhost:8080.

Sélectionner un agent

Dans l'interface web, vous pourrez :

  1. Sélectionner l'agent souhaité dans la liste déroulante
  2. Commencer à interagir avec l'agent choisi
  3. Tester les différentes fonctionnalités de chaque agent

☁️ Déploiement sur Google Cloud Run

Déploiement avec interface utilisateur

# Déployer l'application complète avec l'UI web
adk deploy cloud_run --with_ui

Cette commande va :

  • Construire l'image Docker contenant tous vos agents
  • Déployer l'application sur Google Cloud Run
  • Inclure l'interface web pour interagir avec vos agents
  • Fournir une URL publique pour accéder à votre application

Configuration pour le déploiement

Avant le déploiement, assurez-vous :

  1. D'être connecté à Google Cloud CLI : gcloud auth login
  2. D'avoir configuré votre projet : gcloud config set project VOTRE_PROJECT_ID
  3. D'avoir activé les APIs nécessaires (Cloud Run, Container Registry)
  4. Que vos variables d'environnement sont configurées dans Cloud Run

📝 Exemples d'utilisation

Agent root_agent

Utilisateur : "Lance un dé à 6 faces"
Agent : [utilise roll_dice(6)] "Vous avez obtenu : 4"

Agent guess_the_number_agent

Utilisateur : "Commençons une partie"
Agent : [utilise start_game()] "J'ai pensé à un nombre entre 1 et 100..."
Utilisateur : "50"
Agent : [utilise guess_number(50)] "Trop haut ! Il vous reste 9 tentatives."

Agent wad_demos

Utilisateur : "Je cherche des endroits comme Klunkerkranich à Berlin"
Agent : [utilise search_berlin_locations("klunkerkranich")]
"Voici 5 endroits fantastiques à Berlin :
1. Klunkerkranich - Horaires: Thu-Sun 10:00-24:00..."

🔧 Dépannage

Erreur "No module named 'adk'"

# Vérifiez que l'environnement virtuel est activé
source .venv/bin/activate

# Utilisez python3 -m au lieu de la commande directe
python3 -m adk web

Erreur de validation du nom d'agent

Les noms d'agents doivent être des identifiants Python valides (lettres, chiffres, underscores uniquement).

Erreur de clé API manquante

Vérifiez que votre fichier .env contient les bonnes clés API et qu'il est dans le répertoire racine du projet.

📚 Documentation supplémentaire

🤝 Contribution

Ce projet a été créé lors du workshop GDG & GDE Summit 2025. N'hésitez pas à expérimenter avec les agents et à ajouter vos propres fonctionnalités !