Gemini Live API 可讓您與 Gemini 進行低延遲的雙向文字和語音互動。使用 Live API 時,您可以為使用者提供自然流暢的人類語音對話體驗,並且能夠使用文字或語音指令中斷模型的回覆。這個模型可以處理文字和音訊輸入內容 (影片即將推出),並提供文字和音訊輸出內容。
您可以使用提示和 Vertex AI Studio 中的 Live API 製作原型。
Live API 是具狀態的 API,可建立 WebSocket 連線,在用戶端和 Gemini 伺服器之間建立工作階段。詳情請參閱 Live API 參考說明文件。
事前準備
如果您尚未完成,請參閱入門指南,瞭解如何設定 Firebase 專案、將應用程式連結至 Firebase、新增 SDK、初始化 Vertex AI 服務,以及建立 LiveModel
例項。
請務必至少使用下列 Firebase 程式庫版本:
iOS+:尚未支援 |
Android:16.3.0 以上版本 (BoM:33.12.0 以上版本) |
網頁:尚未支援 |
Flutter:1.5.0 以上版本 (BoM:3.9.0 以上版本)
支援這項功能的型號
Live API 僅支援 gemini-2.0-flash-live-preview-04-09
(而非 gemini-2.0-flash
)。
使用 Live API 的標準功能
本節將說明如何使用 Live API 的標準功能,特別是串流各種類型的輸入和輸出內容:
收發簡訊
您可以傳送串流文字輸入內容,並接收串流文字輸出內容。請務必建立 liveModel
例項,並將回應模式設為 Text
。
傳送音訊和接收音訊
您可以傳送串流音訊輸入內容,並接收串流音訊輸出內容。請務必建立 LiveModel
例項,並將回應模式設為 Audio
。
瞭解如何設定及自訂回應語音 (本頁後續內容)。
打造更引人入勝的互動式體驗
本節說明如何建立及管理 Live API 的互動或交互功能,以提升使用者參與度。
變更回覆語音
Live API 使用 Chirp 3 支援合成語音回應。使用 Vertex AI in Firebase 時,您可以傳送 5 種 HD 語音和 31 種語言的音訊。
如果未指定語音,預設值為 Puck
。或者,您也可以設定模型以下列任一語音回應:
Aoede (女性)Charon (男性) |
Fenrir (男性)Kore (女性) |
Puck (男性) |
如要瞭解這些語音的聲音,以及可用的語言完整清單,請參閱 Chirp 3:HD 語音。
如要指定語音,請在 speechConfig
物件中設定語音名稱,做為模型設定的一部分:
如要提示模型以非英語回應,並要求模型以非英語回應,請在系統指示中加入以下內容:
RESPOND IN LANGUAGE. YOU MUST RESPOND UNMISTAKABLY IN LANGUAGE.
在各個工作階段和要求中維持情境
您可以使用即時通訊結構,在各個工作階段和要求之間維持背景資訊。請注意,這項功能僅適用於文字輸入和文字輸出。
這種方法最適合用於短時間內發生的事件,您可以傳送即時互動,以便呈現事件的確切順序。如果背景資訊較長,建議您提供單一訊息摘要,以便釋出背景資訊視窗,供後續互動使用。
處理中斷
Vertex AI in Firebase 目前不支援處理中斷情形。請過一陣子再回來查看!
使用函式呼叫 (工具)
您可以定義工具 (例如可用的函式),以便與 Live API 搭配使用,就像使用標準內容產生方法一樣。本節將說明使用 Live API 搭配函式呼叫時的部分細微差異。如需函式呼叫的完整說明和範例,請參閱函式呼叫指南。
模型可從單一提示產生多個函式呼叫,以及連結輸出的必要程式碼。這個程式碼會在沙箱環境中執行,產生後續的 BidiGenerateContentToolCall
訊息。執行作業會暫停,直到每個函式呼叫的結果可用為止,藉此確保按順序處理。
此外,使用 Live API 搭配函式呼叫功能特別強大,因為模型可以向使用者要求後續或說明資訊。舉例來說,如果模型沒有足夠的資訊,無法為要呼叫的函式提供參數值,則模型可以要求使用者提供更多或更清楚的資訊。
用戶端應回覆 BidiGenerateContentToolResponse
。
限制和規定
請注意 Live API 的下列限制和要求。
語音轉錄
Vertex AI in Firebase 不支援語音轉錄功能。請過一陣子再回來查看!
語言
- 輸入語言:查看Gemini 模型支援的輸入語言完整清單
- 輸出語言:請參閱 Chirp 3:HD 語音 中的完整輸出語言清單
音訊格式
Live API 支援下列音訊格式:
- 輸入音訊格式:原始 16 位元 PCM 音訊,16 kHz 小端序
- 輸出音訊格式:原始 16 位元 PCM 音訊,24 kHz 小端序
頻率限制
以下頻率限制適用於此 API:
- 每個 Firebase 專案可同時進行 10 個工作階段
- 每分鐘 400 萬個符記
工作階段時間長度
工作階段的預設長度為 30 分鐘。當工作階段時間超過限制時,連線就會終止。
模型也受限於脈絡大小。傳送大量輸入內容可能會導致工作階段提早終止。
語音活動偵測 (VAD)
模型會自動對連續音訊輸入串流執行語音活動偵測 (VAD)。VAD 預設為啟用。
符記計數
您無法將 CountTokens
API 與 Live API 搭配使用。