Ce tutoriel vous explique comment vous connecter à l'API Gemini Live à l'aide du SDK Google Gen AI pour Python. Dans ce tutoriel, vous allez créer une application multimodale en temps réel avec un backend Python robuste qui gère la connexion à l'API.
Avant de commencer
Pour configurer votre environnement, procédez comme suit :
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init - Installez Git.
- Installez Python 3.
Installez les dépendances :
pip3 install -r requirements.txtS'authentifier avec Google Cloud :
gcloud auth application-default loginDémarrez le serveur :
python3 main.py- Ouvrez votre navigateur et accédez à http://localhost:8000.
- Cliquez sur Se connecter.
- Saisie de texte : vous pouvez écrire un message à Gemini en le saisissant dans le champ de message, puis en cliquant sur Envoyer. Gemini répond au message à l'aide d'un message audio.
- Saisie vocale : pour parler à Gemini, cliquez sur Démarrer le micro. Gemini répond à la requête en utilisant l'audio.
- Entrée vidéo : pour permettre à Gemini de voir à travers votre caméra, cliquez sur Démarrer la caméra. Vous pouvez parler à Gemini de ce qu'il voit grâce à votre caméra.
- Découvrez comment configurer la langue et la voix.
- Découvrez comment configurer les fonctionnalités Gemini.
- Découvrez les bonnes pratiques concernant l'API Gemini Live.
Cloner l'application de démonstration
Clonez le dépôt de l'application de démonstration et accédez à ce répertoire :
git clone https://github.com/GoogleCloudPlatform/generative-ai.git &&
cd generative-ai/gemini/multimodal-live-api/native-audio-websocket-demo-apps/plain-js-python-sdk-demo-app
Structure du projet
L'application inclut les fichiers suivants :
/
├── main.py # FastAPI server and WebSocket endpoint
├── gemini_live.py # Gemini Live API wrapper using Gen AI SDK
├── requirements.txt # Python dependencies
└── frontend/
├── index.html # User Interface
├── main.js # Application logic
├── gemini-client.js # WebSocket client for backend communication
├── media-handler.js # Audio/Video capture and playback
└── pcm-processor.js # AudioWorklet for PCM processing
Configurer les variables d'environnement
Pour cette démonstration, la seule variable d'environnement que nous devons configurer est celle qui définit l'ID de votre projet Google Cloud . La commande suivante crée un fichier .env qui définit la variable d'environnement PROJECT_ID.
Remplacez PROJECT_ID par l'ID de votre projet Google Cloud .
echo "PROJECT_ID=PROJECT_ID" > .env
Exécuter le serveur backend
Le backend (main.py) gère la connexion entre le client et l'API Gemini Live. Le point d'entrée est un serveur FastAPI qui expose un point de terminaison WebSocket. Il accepte les blocs audio et vidéo du frontend et les transmet à la session GeminiLive. La classe GeminiLive dans gemini_live.py encapsule genai.Client pour gérer la session.
# Connects using the SDK
async with self.client.aio.live.connect(model=self.model, config=config) as session:
# Manages input/output queues
await asyncio.gather(
send_audio(),
send_video(),
receive_responses()
)
Pour exécuter le serveur backend, exécutez les commandes suivantes :
Ouvrir l'interface utilisateur et se connecter à Gemini
Le frontend gère la capture et la lecture audio et vidéo. Le fichier gemini-client.js gère la connexion WebSocket au backend. Il envoie des blocs de contenu multimédia encodés en base64 au backend et reçoit des réponses audio de l'API Gemini Live, qui sont ensuite lues à l'utilisateur.
Pour ouvrir l'UI frontend et vous connecter à Gemini, procédez comme suit :
Interagir avec Gemini
Essayez ce qui suit :