Questo tutorial mostra come connettersi all'API Gemini Live utilizzando WebSocket. In questo tutorial creerai un'applicazione multimodale in tempo reale con un frontend JavaScript vanilla e un server Python che gestisce l'autenticazione e il proxy.
Prima di iniziare
Completa i seguenti passaggi per configurare l'ambiente.
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
Enable the Agent Platform API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init - Installa Git.
- Installa Python 3.
Clona l'app demo
Clona il repository dell'app demo e passa a quella directory:
git clone https://github.com/GoogleCloudPlatform/generative-ai.git &&
cd generative-ai/gemini/multimodal-live-api/native-audio-websocket-demo-apps/plain-js-demo-app
Struttura del progetto
L'applicazione include i seguenti file:
/
├── server.py # WebSocket proxy + HTTP server
├── requirements.txt # Python dependencies
└── frontend/
├── index.html # UI
├── geminilive.js # Gemini API client
├── mediaUtils.js # Audio/video streaming
├── tools.js # Custom tool definitions
└── script.js # App logic
Esegui il server di backend
Il backend (server.py) gestisce l'autenticazione e funge da proxy WebSocket tra il client e l'API Gemini Live.
Per eseguire il server di backend, esegui questi comandi:
Installa le dipendenze:
pip3 install -r requirements.txtAutenticati con Cloud de Confiance by S3NS:
gcloud auth application-default loginAvvia il server:
python3 server.py
Apri la UI frontend e connettiti a Gemini
Il frontend gestisce l'acquisizione e la riproduzione di audio e video. Il file
geminilive.js gestisce la connessione WebSocket al backend.
const client = new GeminiLiveAPI(proxyUrl, projectId, model);
client.addFunction(toolInstance); // Add custom tools
client.connect(accessToken); // Connect (token optional with proxy)
Per aprire la UI frontend e connetterti a Gemini:
- Apri il browser e vai all'indirizzo http://localhost:8000.
- Nel campo ID progetto, inserisci l'ID del tuo progetto Cloud de Confiance .
- Fai clic su Connetti.
Interagire con Gemini
Prova a fare quanto segue:
- Inserimento di testo: puoi scrivere un messaggio a Gemini inserendo il messaggio nel campo del messaggio e facendo clic su Invia. Gemini risponde al messaggio utilizzando l'audio.
- Input vocale: per parlare con Gemini, fai clic su Avvia microfono. Gemini risponde al prompt utilizzando l'audio.
- Input video: per consentire a Gemini di vedere attraverso la fotocamera, fai clic su Avvia fotocamera. Puoi parlare con Gemini di ciò che vede attraverso la tua fotocamera.
Passaggi successivi
- Scopri come configurare la lingua e la voce.
- Scopri come configurare le funzionalità di Gemini.
- Scopri di più sulle best practice per l'API Gemini Live.