Der Gemini Live API ermöglicht bidirektionale Text- und Sprachinteraktionen mit niedriger Latenz mit Gemini. Mit dem Live API können Sie Endnutzern natürliche, menschliche Sprachunterhaltungen bieten, bei denen sie die Antworten des Modells per Text- oder Sprachbefehl unterbrechen können. Das Modell kann Text- und Audioeingaben verarbeiten (Videos folgen bald) und Text- und Audioausgaben liefern.
Sie können Prototypen mit Prompts und der Live API in Vertex AI Studio erstellen.
Die Live API ist eine zustandsorientierte API, die eine WebSocket-Verbindung erstellt, um eine Sitzung zwischen dem Client und dem Gemini-Server herzustellen. Weitere Informationen finden Sie in der Live API-Referenzdokumentation.
Hinweis
Sehen Sie sich den Startleitfaden an, in dem beschrieben wird, wie Sie Ihr Firebase-Projekt einrichten, Ihre App mit Firebase verbinden, das SDK hinzufügen, den Vertex AI-Dienst initialisieren und eine LiveModel
-Instanz erstellen.
Beachten Sie Folgendes, wenn Sie Live API verwenden:
Verwenden Sie mindestens die folgenden Firebase-Bibliotheksversionen:
iOS und höher: noch nicht unterstützt | Android: Version 16.3.0 und höher (BoM: Version 33.12.0 und höher) | Web: noch nicht unterstützt | Flutter: Version 1.5.0 und höher (BoM: Version 3.9.0 und höher)Erstellen Sie eine
LiveModel
-Instanz (keineGenerativeModel
-Instanz).
Modelle, die diese Funktion unterstützen
Live API wird nur von gemini-2.0-flash-live-preview-04-09
(nicht von gemini-2.0-flash
) unterstützt.
Standardfunktionen der Live API verwenden
In diesem Abschnitt wird beschrieben, wie Sie die Standardfunktionen der Live API verwenden, insbesondere um verschiedene Arten von Eingaben und Ausgaben zu streamen:
- SMS senden und empfangen
- Audio senden und empfangen
- Audio senden und Text empfangen
- Text senden und Audio empfangen
SMS senden und empfangen
Sie können gestreamte Texteingaben senden und gestreamte Textausgaben empfangen. Erstellen Sie eine liveModel
-Instanz und legen Sie die Antwortmodalität auf Text
fest.
Hier erfahren Sie, wie Sie ein Modell und optional einen Standort auswählen, die für Ihren Anwendungsfall und Ihre App geeignet sind.
Audio senden und empfangen
Sie können gestreamte Audioeingaben senden und gestreamte Audioausgaben empfangen. Erstellen Sie eine LiveModel
-Instanz und legen Sie die Antwortmodalität auf Audio
fest.
Weitere Informationen zum Konfigurieren und Anpassen der Antwortstimme finden Sie weiter unten auf dieser Seite.
Hier erfahren Sie, wie Sie ein Modell und optional einen Standort auswählen, die für Ihren Anwendungsfall und Ihre App geeignet sind.
Interaktivere und ansprechendere Inhalte erstellen
In diesem Abschnitt wird beschrieben, wie Sie ansprechendere oder interaktivere Funktionen der Live API erstellen und verwalten.
Antwortstimme ändern
Der Live API verwendet Chirp 3, um synthetisierte Sprachantworten zu unterstützen. Wenn Sie Vertex AI in Firebase verwenden, können Sie Audioinhalte in 5 HD-Stimmen und 31 Sprachen senden.
Wenn Sie keine Stimme angeben, wird standardmäßig Puck
verwendet. Alternativ können Sie das Modell so konfigurieren, dass es mit einer der folgenden Stimmen antwortet:
Aoede (weiblich)Charon (männlich) |
Fenrir (männlich)Kore (weiblich) |
Puck (männlich) |
Demos dazu, wie diese Stimmen klingen, und eine vollständige Liste der verfügbaren Sprachen finden Sie unter Chirp 3: HD-Stimmen.
Wenn Sie eine Stimme angeben möchten, legen Sie den Sprachnamen im speechConfig
-Objekt als Teil der Modellkonfiguration fest:
Wenn Sie das Modell auffordern und anweisen möchten, in einer anderen Sprache als Englisch zu antworten, sollten Sie Folgendes in Ihre Systemanweisungen aufnehmen:
RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.
Kontext über Sitzungen und Anfragen hinweg beibehalten
Mit einer Chatstruktur können Sie den Kontext über Sitzungen und Anfragen hinweg beibehalten. Hinweis: Dies funktioniert nur für die Texteingabe und Textausgabe.
Dieser Ansatz eignet sich am besten für kurze Kontexte. Sie können Schritt-für-Schritt-Interaktionen senden, um die genaue Abfolge der Ereignisse darzustellen. Bei längeren Kontexten empfehlen wir, eine einzelne Nachrichtenzusammenfassung anzugeben, um das Kontextfenster für nachfolgende Interaktionen freizugeben.
Unterbrechungen verarbeiten
Vertex AI in Firebase unterstützt noch nicht die Verarbeitung von Unterbrechungen. Schauen Sie später noch einmal vorbei!
Funktionsaufrufe verwenden (Tools)
Du kannst Tools wie verfügbare Funktionen für die Live API definieren, genau wie bei den Standardmethoden zur Inhaltsgenerierung. In diesem Abschnitt werden einige Nuancen bei der Verwendung der Live API mit Funktionsaufrufen beschrieben. Eine vollständige Beschreibung und Beispiele für Funktionsaufrufe finden Sie im Leitfaden zu Funktionsaufrufen.
Anhand eines einzelnen Prompts kann das Modell mehrere Funktionsaufrufe und den Code generieren, der zum Verketten der Ausgaben erforderlich ist. Dieser Code wird in einer Sandbox-Umgebung ausgeführt und generiert nachfolgende BidiGenerateContentToolCall
-Nachrichten. Die Ausführung wird pausiert, bis die Ergebnisse der einzelnen Funktionsaufrufe verfügbar sind. So wird eine sequenzielle Verarbeitung sichergestellt.
Außerdem ist die Verwendung der Live API mit Funktionsaufrufen besonders leistungsstark, da das Modell vom Nutzer zusätzliche oder erläuternde Informationen anfordern kann. Wenn dem Modell beispielsweise nicht genügend Informationen vorliegen, um einer Funktion, die aufgerufen werden soll, einen Parameterwert zuzuweisen, kann das Modell den Nutzer bitten, weitere oder erläuternde Informationen anzugeben.
Der Client sollte mit BidiGenerateContentToolResponse
antworten.
Einschränkungen und Anforderungen
Beachten Sie die folgenden Einschränkungen und Anforderungen der Live API.
Sprache-zu-Text
Vertex AI in Firebase unterstützt noch nicht die Transkription. Schauen Sie später noch einmal vorbei!
Sprachen
- Eingabesprachen:Vollständige Liste der unterstützten Eingabesprachen für Gemini-Modelle
- Ausgabesprachen:Eine vollständige Liste der verfügbaren Ausgabesprachen finden Sie unter Chirp 3: HD-Stimmen.
Audioformate
Die Live API unterstützt die folgenden Audioformate:
- Eingabeaudioformat:Rohes 16-Bit-PCM-Audio mit 16 kHz und Little Endian
- Audioausgabeformat:Rohes 16-Bit-PCM-Audio mit 24 kHz und Little Endian
Ratenlimits
Es gelten die folgenden Ratenbegrenzungen:
- 10 gleichzeitige Sitzungen pro Firebase-Projekt
- 4 Millionen Tokens pro Minute
Sitzungsdauer
Die Standarddauer einer Sitzung beträgt 30 Minuten. Wenn die Sitzungsdauer das Limit überschreitet, wird die Verbindung beendet.
Das Modell ist außerdem durch die Kontextgröße begrenzt. Das Senden großer Eingabeblöcke kann zu einer vorzeitigen Sitzungsbeendigung führen.
Erkennung der Sprachaktivitäten (VAD)
Das Modell führt automatisch eine Sprachaktivitätserkennung (VAD) auf einem kontinuierlichen Audioeingabestream durch. Die VAD-Funktion ist standardmäßig aktiviert.
Tokenzählung
Sie können die CountTokens
API nicht mit der Live API verwenden.