In dieser Anleitung erfahren Sie, wie Sie über WebSockets eine Verbindung zur Gemini Live API herstellen. In dieser Anleitung erstellen Sie eine multimodale Echtzeitanwendung mit einem Vanilla JavaScript-Frontend und einem Python-Server, der die Authentifizierung und das Proxying übernimmt.
Hinweise
Führen Sie die folgenden Schritte aus, um Ihre Umgebung einzurichten:
- 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.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
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.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init - Installieren Sie Git.
- Installieren Sie Python 3.
Installieren Sie die Abhängigkeiten:
pip3 install -r requirements.txtAuthentifizieren mit Google Cloud:
gcloud auth application-default loginStarten Sie den Server:
python3 server.py- Öffnen Sie Ihren Browser und rufen Sie http://localhost:8000 auf.
- Geben Sie im Feld Projekt-ID die ID Ihres Google Cloud Projekts ein.
- Klicken Sie auf Verbinden.
- Texteingabe: Sie können eine SMS an Gemini senden, indem Sie Ihre Nachricht in das Nachrichtenfeld eingeben und auf Senden klicken. Gemini antwortet auf die Nachricht per Audio.
- Spracheingabe: Wenn Sie mit Gemini sprechen möchten, klicken Sie auf Mikrofon starten. Gemini antwortet auf den Prompt mit Audio.
- Videoeingabe: Wenn Gemini über Ihre Kamera sehen soll, klicken Sie auf Kamera starten. Sie können sich mit Gemini darüber unterhalten, was die Kamera sieht.
- Informationen zum Konfigurieren von Sprache und Stimme
- Informationen zum Konfigurieren von Gemini-Funktionen
- Best Practices für die Gemini Live API
Demo-App klonen
Klonen Sie das Repository der Demo-App und wechseln Sie in dieses Verzeichnis:
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
Projektstruktur
Die Anwendung enthält die folgenden Dateien:
/
├── 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
Backend-Server starten
Das Backend (server.py) übernimmt die Authentifizierung und fungiert als WebSocket-Proxy zwischen dem Client und der Gemini Live API.
Führen Sie die folgenden Befehle aus, um den Backend-Server zu starten:
Frontend-Benutzeroberfläche öffnen und Verbindung zu Gemini herstellen
Das Frontend verwaltet die Audio- und Videoaufnahme und ‑wiedergabe. Die Datei geminilive.js verarbeitet die WebSocket-Verbindung zum Backend.
const client = new GeminiLiveAPI(proxyUrl, projectId, model);
client.addFunction(toolInstance); // Add custom tools
client.connect(accessToken); // Connect (token optional with proxy)
So öffnen Sie die Frontend-Benutzeroberfläche und stellen eine Verbindung zu Gemini her:
Mit Gemini interagieren
Versuchen Sie Folgendes: