Gemini Live API permet des interactions vocales et textuelles bidirectionnelles à faible latence avec Gemini. À l'aide de Live API, vous pouvez offrir aux utilisateurs finaux une expérience de conversation vocale naturelle et humaine, avec la possibilité d'interrompre les réponses du modèle à l'aide de commandes textuelles ou vocales. Le modèle peut traiter des entrées textuelles et audio (vidéo à venir), et peut fournir des sorties textuelles et audio.
Vous pouvez créer des prototypes avec des requêtes et Live API dans Vertex AI Studio.
Live API est une API avec état qui crée une connexion WebSocket pour établir une session entre le client et le serveur Gemini. Pour en savoir plus, consultez la documentation de référence de Live API.
Avant de commencer
Si ce n'est pas déjà fait, consultez le guide de démarrage, qui explique comment configurer votre projet Firebase, connecter votre application à Firebase, ajouter le SDK, initialiser le service Vertex AI et créer une instance LiveModel
.
Notez que pour utiliser Live API:
Assurez-vous d'utiliser au moins les versions suivantes de la bibliothèque Firebase:
iOS et versions ultérieures: non encore pris en charge | Android: version 16.3.0 et ultérieures (BoM: version 33.12.0 et ultérieures) | Web: non encore pris en charge | Flutter: version 1.5.0 et ultérieures (BoM: version 3.9.0 et ultérieures)Créez une instance
LiveModel
(et non une instanceGenerativeModel
).
Modèles compatibles avec cette fonctionnalité
Live API n'est compatible qu'avec gemini-2.0-flash-live-preview-04-09
(et non gemini-2.0-flash
).
Utiliser les fonctionnalités standards de Live API
Cette section explique comment utiliser les fonctionnalités standards de Live API, en particulier pour diffuser différents types d'entrées et de sorties:
- Envoyer et recevoir des SMS
- Envoyer et recevoir des fichiers audio
- Envoyer des messages audio et recevoir des messages texte
- Envoyer des messages texte et recevoir des contenus audio
Envoyer et recevoir des SMS
Vous pouvez envoyer des entrées de texte en streaming et recevoir des sorties de texte en streaming. Veillez à créer une instance liveModel
et à définir la modalité de réponse sur Text
.
Découvrez comment choisir un modèle et éventuellement un emplacement adapté à votre cas d'utilisation et à votre application.
Envoyer et recevoir des contenus audio
Vous pouvez envoyer une entrée audio en streaming et recevoir une sortie audio en streaming. Veillez à créer une instance LiveModel
et à définir la modalité de réponse sur Audio
.
Découvrez comment configurer et personnaliser la voix de réponse (plus loin sur cette page).
Découvrez comment choisir un modèle et éventuellement un emplacement adapté à votre cas d'utilisation et à votre application.
Créer des expériences plus attrayantes et interactives
Cette section explique comment créer et gérer des fonctionnalités plus attrayantes ou interactives de la Live API.
Modifier la voix de la réponse
Live API utilise Chirp 3 pour prendre en charge les réponses vocales synthétisées. Lorsque vous utilisez Vertex AI in Firebase, vous pouvez envoyer des contenus audio dans cinq voix haute définition et 31 langues.
Si vous ne spécifiez pas de voix, la valeur par défaut est Puck
. Vous pouvez également configurer le modèle pour qu'il réponde dans l'une des voix suivantes:
Aoede (femme)Charon (homme) |
Fenrir (homme)Kore (femme) |
Puck (homme) |
Pour entendre des exemples de ces voix et obtenir la liste complète des langues disponibles, consultez Chirp 3: voix HD.
Pour spécifier une voix, définissez le nom de la voix dans l'objet speechConfig
dans le cadre de la configuration du modèle:
Pour obtenir les meilleurs résultats lorsque vous invitez le modèle à répondre dans une autre langue que l'anglais et que vous l'y obligez, incluez les éléments suivants dans vos instructions système:
RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.
Maintenir le contexte entre les sessions et les requêtes
Vous pouvez utiliser une structure de chat pour conserver le contexte entre les sessions et les requêtes. Notez que cette fonctionnalité ne fonctionne que pour la saisie et la sortie de texte.
Cette approche est la plus adaptée aux contextes courts. Vous pouvez envoyer des interactions par étape pour représenter la séquence exacte des événements. Pour les contextes plus longs, nous vous recommandons de fournir un seul résumé de message afin de libérer la fenêtre de contexte pour les interactions ultérieures.
Gérer les interruptions
Vertex AI in Firebase n'est pas encore compatible avec la gestion des interruptions. Veuillez réessayer ultérieurement.
Utiliser l'appel de fonction (outils)
Vous pouvez définir des outils, comme les fonctions disponibles, à utiliser avec l'API Live, comme vous le feriez avec les méthodes de génération de contenu standards. Cette section décrit certaines nuances lorsque vous utilisez l'API Live avec l'appel de fonction. Pour obtenir une description complète et des exemples d'appel de fonction, consultez le guide d'appel de fonction.
À partir d'une seule invite, le modèle peut générer plusieurs appels de fonction et le code nécessaire pour enchaîner leurs sorties. Ce code s'exécute dans un environnement bac à sable, générant des messages BidiGenerateContentToolCall
ultérieurs. L'exécution est mise en pause jusqu'à ce que les résultats de chaque appel de fonction soient disponibles, ce qui garantit un traitement séquentiel.
De plus, l'utilisation de l'API Live avec l'appel de fonction est particulièrement efficace, car le modèle peut demander à l'utilisateur des informations de suivi ou de clarification. Par exemple, si le modèle ne dispose pas d'informations suffisantes pour fournir une valeur de paramètre à une fonction qu'il souhaite appeler, il peut demander à l'utilisateur de fournir des informations supplémentaires ou plus claires.
Le client doit répondre avec BidiGenerateContentToolResponse
.
Limites et exigences
Tenez compte des limites et des exigences suivantes concernant Live API.
Transcription
Vertex AI in Firebase n'est pas encore compatible avec les transcriptions. Veuillez réessayer ultérieurement.
Langages
- Langues de saisie:consultez la liste complète des langues de saisie acceptées pour les modèles Gemini.
- Langues de sortie:consultez la liste complète des langues de sortie disponibles dans Chirp 3: voix HD.
Formats audio
Live API est compatible avec les formats audio suivants:
- Format audio d'entrée:audio PCM brut 16 bits à 16 kHz, little-endian
- Format audio de sortie:audio PCM brut 16 bits à 24 kHz, little-endian
Limites de débit
Les limites de débit suivantes s'appliquent:
- 10 sessions simultanées par projet Firebase
- 4 millions de jetons par minute
Durée des sessions
La durée par défaut d'une session est de 30 minutes. Lorsque la durée de la session dépasse la limite, la connexion est interrompue.
Le modèle est également limité par la taille du contexte. L'envoi de grands blocs d'entrée peut entraîner la fin prématurée de la session.
Détection de l'activité vocale (VAD)
Le modèle effectue automatiquement la détection de l'activité vocale (VAD) sur un flux d'entrée audio continu. La suppression de latence audio est activée par défaut.
Comptage des jetons
Vous ne pouvez pas utiliser l'API CountTokens
avec Live API.