1. Qu'est-ce que le streaming bidirectionnel ?
Le streaming bidirectionnel (bidi-streaming) permet une communication bidirectionnelle simultanée entre votre application et les modèles d'IA. Contrairement aux schémas de requête/réponse traditionnels, dans lesquels vous envoyez un message complet et attendez une réponse complète, le streaming bidirectionnel permet :
- Entrée continue : diffusez de l'audio, de la vidéo ou du texte au fur et à mesure de leur capture.
- Sortie en temps réel : recevez les réponses de l'IA au fur et à mesure de leur génération.
- Interruption naturelle : les utilisateurs peuvent interrompre l'IA en cours de réponse, comme dans une conversation humaine.

Pourquoi est-ce important ? Le streaming bidirectionnel rend les conversations avec l'IA plus naturelles. L'IA peut répondre pendant que vous fournissez encore du contexte, et vous pouvez l'interrompre quand vous en avez assez entendu, comme si vous parliez à un humain.
Qu'est-ce que le kit d'outils de l'API Gemini Live dans ADK ?
L'Agent Development Kit (ADK) fournit une abstraction de haut niveau sur l'API Gemini Live, en gérant la plomberie complexe du streaming en temps réel afin que vous puissiez vous concentrer sur la création de votre application.

Le kit d'outils de l'API Gemini Live dans ADK gère les éléments suivants :
- Cycle de vie de la connexion : établissement, maintenance et récupération des connexions WebSocket
- Routage des messages : redirection des contenus audio, textuels et des images vers les gestionnaires appropriés
- État de la session : persistance de l'historique des conversations lors des reconnexions
- Exécution d'outils : appel et reprise automatiques à partir d'appels de fonction
Pourquoi utiliser l'ADK plutôt que l'API Live brute ?
Vous pouvez créer directement sur l'API Gemini Live, mais ADK gère l'infrastructure complexe pour que vous puissiez vous concentrer sur votre application :

Capacité | API Live brute | Kit d'outils de l'API Gemini Live dans ADK |
Framework de l'agent | Créer entièrement | Agent unique/multi-agent avec outils, évaluation, sécurité |
Exécution d'outils | Manutention manuelle | Exécution parallèle automatique |
Gestion des connexions | Reconnecter manuellement | Reprise de session transparente |
Modèle d'événement | Structures personnalisées | Objets d'événement unifiés et typés |
Framework asynchrone | Coordination manuelle | Générateur LiveRequestQueue + run_live() |
Persistance de session | Implémentation manuelle | SQL, Vertex AI ou en mémoire intégrés |
En résumé : l'ADK permet de réduire le développement de l'infrastructure de plusieurs mois à quelques jours. Vous vous concentrez sur ce que fait votre agent, et non sur le fonctionnement du streaming.
Cas d'utilisation concrets
- Service client : un client montre sa machine à café défectueuse à l'aide de la caméra de son téléphone tout en expliquant le problème. L'IA identifie le modèle et le point de défaillance, et le client peut l'interrompre pour corriger des informations en cours de conversation.
- E-commerce : un client tient un vêtement devant sa webcam et demande "Trouve des chaussures qui vont avec ce pantalon". L'agent analyse le style et engage une conversation fluide : "Montre-moi quelque chose de plus décontracté" → "Que penses-tu de ces baskets ?" → "Ajoute les bleues en taille 40."
- Service sur le terrain : un technicien équipé de lunettes connectées diffuse sa vue en direct et demande : "J'entends un bruit étrange provenant de ce compresseur. Pouvez-vous l'identifier ?" L'agent fournit des instructions détaillées en mode mains libres.
- Santé : un patient partage une vidéo en direct d'un problème de peau. L'IA effectue une analyse préliminaire, pose des questions pour obtenir des précisions et vous guide pour la suite.
- Services financiers : un client examine son portefeuille tandis que l'agent affiche des graphiques et simule les impacts commerciaux. Le client peut partager son écran pour discuter d'articles d'actualité spécifiques.
Démonstration de Shopper's Concierge 2 : démonstration de RAG agentique en temps réel pour l'e-commerce, conçue avec ADK Gemini Live API Toolkit et les API Vertex AI Vector Search, Embeddings, Feature Store et Ranking :

En savoir plus : Guide du développeur
Pour une présentation détaillée, consultez le Guide du développeur du kit d'outils de l'API Gemini Live dans ADK, une série en cinq parties qui couvre l'architecture et le déploiement en production :
Partie | Mise au point | Au programme |
Fondation | Architecture, plates-formes d'API Live, cycle de vie en quatre phases | |
En amont | Envoyer du texte, de l'audio et des vidéos via LiveRequestQueue | |
En aval | Gestion des événements, exécution des outils, workflows multi-agents | |
Configuration | Gestion des sessions, quotas, contrôles de production | |
Multimodal | Spécifications audio, architectures de modèles, fonctionnalités avancées |
2. Présentation de l'atelier
Objectifs de l'atelier
Dans cet atelier pratique, vous allez créer une application d'IA de streaming bidirectionnel complète de A à Z. À la fin de cet atelier, vous disposerez d'une IA vocale fonctionnelle capable de :
- Accepter les entrées de texte, audio et d'image
- Répondre avec du texte en streaming ou une voix naturelle
- Gérer les interruptions de manière naturelle
- Utiliser des outils comme la recherche Google
Contrairement à la lecture de la documentation, vous examinerez chaque composant étape par étape, en comprenant comment les éléments s'assemblent à mesure que vous développez de manière incrémentielle.

Approche d'apprentissage
Nous suivons une approche de compilation incrémentielle :
- Étape 1 : Serveur WebSocket minimal → Réponse "Hello World"
- Étape 2 : Ajouter l'agent → Définir le comportement et les outils de l'IA
- Étape 3 : Initialisation de l'application → Service de session et d'exécution
- Étape 4 : Initialisation de la session → RunConfig et LiveRequestQueue
- Étape 5 : Tâche en amont → Communication entre le client et la file d'attente
- Étape 6 : Tâche en aval → Diffusion d'événements au client
- Étape 7 : Ajouter de l'audio → Saisie et sortie vocales
- Étape 8 : Ajouter une entrée d'image → IA multimodale
Chaque étape s'appuie sur la précédente. Vous effectuerez un test après chaque étape pour vérifier votre progression.
Prérequis
- Compte Google Cloud avec facturation activée
- Connaissances de base en programmation Python et asynchrone (async/await)
- Navigateur Web avec accès au micro et à la webcam (Chrome recommandé)
Durée approximative
- Atelier complet : environ 90 minutes
- Version rapide (étapes 1 à 4 uniquement) : environ 45 minutes
3. Atelier
Commencez l'atelier en suivant les instructions ici :
https://github.com/kazunori279/adk-streaming-guide/blob/main/workshops/workshop.md
4. Récapitulatif et points à retenir
Ce que vous avez créé
Vous avez créé une application d'IA de streaming bidirectionnel complet à partir de zéro. L'application gère les entrées de texte, de voix et d'image avec des réponses en streaming en temps réel, ce qui constitue la base pour créer une IA conversationnelle prête pour la production.
Composant | Fonctionnement | Step |
Agent | Définit la personnalité de l'IA, les instructions et les outils disponibles (par exemple, la recherche Google) | Étape 2 |
SessionService | Conserve l'historique des conversations lors des reconnexions | Étape 3 |
Exécuteur | Orchestre le cycle de vie du streaming et connecte l'agent à l'API Live | Étape 3 |
RunConfig | Configure la modalité de réponse (TEXT/AUDIO), la transcription et la reprise de session | Étape 4 |
LiveRequestQueue | Interface unifiée pour envoyer du texte, de l'audio et des images au modèle | Étape 5 |
run_live() | Générateur asynchrone qui génère des événements de streaming à partir du modèle | Étape 6 |
send_realtime() | Envoie des blobs audio/d'image pour les flux d'entrée en continu | Étapes 7 et 8 |
Ressources
Continuez à vous familiariser avec ces ressources officielles. Le guide du kit d'outils de l'API Gemini Live dans ADK fournit des informations plus détaillées sur tous les aspects abordés dans cet atelier.
Ressource | URL |
Documentation ADK | |
Guide du kit d'outils de l'API Gemini Live dans ADK | |
API Gemini Live | |
API Vertex AI Live | https://cloud.google.com/vertex-ai/generative-ai/docs/live-api |
Dépôt d'exemples ADK |