Gemini Live API consente interazioni vocali e di testo bidirezionali a bassa latenza con Gemini. Con Live API, puoi offrire agli utenti finali l'esperienza di conversazioni vocali naturali e simili a quelle umane, con la possibilità di interrompere le risposte del modello utilizzando comandi vocali o di testo. Il modello può elaborare input di testo e audio (i video saranno disponibili a breve) e può fornire output di testo e audio.
Puoi creare un prototipo con i prompt e Live API in Vertex AI Studio.
Live API è un'API stateful che crea una connessione WebSocket per stabilire una sessione tra il client e il server Gemini. Per maggiori dettagli, consulta la documentazione di riferimento di Live API.
Prima di iniziare
Se non l'hai ancora fatto, completa la
guida introduttiva,
che descrive come configurare il progetto Firebase, collegare l'app a
Firebase, aggiungere l'SDK, inizializzare il servizio Vertex AI e creare un'istanza
LiveModel
.
Assicurati di utilizzare almeno queste versioni delle librerie Firebase:
iOS e versioni successive: non ancora supportata |
Android: v16.3.0 e versioni successive (BoM: v33.12.0 e versioni successive) |
Web: non ancora supportata |
Flutter: v1.5.0 e versioni successive (BoM: v3.9.0 e versioni successive)
Modelli che supportano questa funzionalità
Live API è supportato solo da gemini-2.0-flash-live-preview-04-09
(non da gemini-2.0-flash
).
Utilizzare le funzionalità standard di Live API
Questa sezione descrive come utilizzare le funzionalità standard di Live API, in particolare per trasmettere in streaming vari tipi di input e output:
- Inviare e ricevere messaggi
- Inviare e ricevere audio
- Inviare audio e ricevere testo
- Inviare testo e ricevere audio
Inviare e ricevere messaggi
Puoi inviare input di testo in streaming e ricevere output di testo in streaming. Assicurati di
creare un'istanza liveModel
e di impostare la
modalità di risposta suText
.
Scopri come scegliere un modello e, facoltativamente, una località appropriata per il tuo caso d'uso e la tua app.
Inviare e ricevere audio
Puoi inviare input audio in streaming e ricevere output audio in streaming. Assicurati di creare un'istanza LiveModel
e di impostare la modalità di risposta su Audio
.
Scopri come configurare e personalizzare la voce di risposta (più avanti in questa pagina).
Scopri come scegliere un modello e, facoltativamente, una località appropriata per il tuo caso d'uso e la tua app.
Creare esperienze più coinvolgenti e interattive
Questa sezione descrive come creare e gestire funzionalità più coinvolgenti o interattive di Live API.
Modificare la voce della risposta
Live API utilizza Chirp 3 per supportare le risposte vocali sintetizzate. Quando utilizzi Vertex AI in Firebase, puoi inviare audio in 5 voci HD e 31 lingue.
Se non specifichi una voce, il valore predefinito è Puck
. In alternativa, puoi configurare il modello in modo che risponda con una delle seguenti voci:
Aoede (donna)Charon (uomo) |
Fenrir (maschio)Kore (femmina) |
Puck (maschio) |
Per ascoltare le demo di queste voci e per l'elenco completo delle lingue disponibili, consulta Chirp 3: voci HD.
Per specificare una voce, imposta il nome della voce all'interno dell'oggetto speechConfig
come parte della
configurazione del modello:
Per ottenere i risultati migliori quando chiedi e richiedi al modello di rispondere in una lingua diversa dall'inglese, includi quanto segue nelle istruzioni di sistema:
RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.
Mantieni il contesto tra sessioni e richieste
Puoi utilizzare una struttura di chat per mantenere il contesto tra sessioni e richieste. Tieni presente che questa opzione funziona solo per l'input e l'output di testo.
Questo approccio è ideale per contesti brevi. Puoi inviare interazioni passo passo per rappresentare la sequenza esatta di eventi. Per contesti più lunghi, ti consigliamo di fornire un riepilogo di un singolo messaggio per liberare la finestra del contesto per le interazioni successive.
Gestire le interruzioni
Vertex AI in Firebase non supporta ancora la gestione delle interruzioni. Ricontrolla presto.
Utilizzare le chiamate di funzioni (strumenti)
Puoi definire strumenti, come le funzioni disponibili, da utilizzare con l'API Live, come accade con i metodi di generazione di contenuti standard. Questa sezione descrive alcune sfumature relative all'utilizzo dell'API Live con la chiamata di funzioni. Per una descrizione completa ed esempi di chiamate di funzioni, consulta la guida alle chiamate di funzioni.
Da un singolo prompt, il modello può generare più chiamate di funzione e il codice necessario per collegarne gli output. Questo codice viene eseguito in un ambiente sandbox, generando messaggi BidiGenerateContentToolCall
successivi. L'esecuzione viene messa in pausa fino a quando non sono disponibili i risultati di ogni chiamata di funzione, il che garantisce l'elaborazione sequenziale.
Inoltre, l'utilizzo dell'API Live con la chiamata di funzioni è particolarmente efficace perché il modello può richiedere all'utente informazioni di follow-up o chiarimenti. Ad esempio, se il modello non dispone di informazioni sufficienti per fornire un valore del parametro a una funzione che vuole chiamare, può chiedere all'utente di fornire maggiori informazioni o chiarimenti.
Il cliente deve rispondere con
BidiGenerateContentToolResponse
.
Limitazioni e requisiti
Tieni presente le seguenti limitazioni e requisiti di Live API.
Trascrizione
Vertex AI in Firebase non supporta ancora le trascrizioni. Ricontrolla presto.
Lingue
- Lingue di input:consulta l'elenco completo delle lingue di input supportate per i modelli Gemini
- Lingue di output:consulta l'elenco completo delle lingue di output disponibili in Chirp 3: voci HD
Formati audio
Live API supporta i seguenti formati audio:
- Formato audio di input: audio PCM non compresso a 16 bit a 16 kHz little-endian
- Formato audio di output: audio PCM non compresso a 16 bit a 24 kHz little-endian
Limiti di frequenza
Si applicano i seguenti limiti di frequenza:
- 10 sessioni simultanee per progetto Firebase
- 4 milioni di token al minuto
Lunghezza della sessione
La durata predefinita di una sessione è di 30 minuti. Quando la durata della sessione supera il limite, la connessione viene interrotta.
Il modello è limitato anche dalle dimensioni del contesto. L'invio di grandi blocchi di input potrebbe comportare la chiusura anticipata della sessione.
Rilevamento attività vocale (VAD)
Il modello esegue automaticamente il rilevamento dell'attività vocale (VAD) su uno stream di input audio continuo. La funzionalità VAD è attiva per impostazione predefinita.
Conteggio dei token
Non puoi utilizzare l'API CountTokens
con Live API.