1. 什麼是 Bidi 串流?
雙向串流 (bidi-streaming) 可讓應用程式和 AI 模型同時進行雙向通訊。傳統的要求/回應模式會傳送完整訊息並等待完整回覆,但雙向串流可讓您:
- 連續輸入:串流擷取的音訊、影片或文字
- 即時輸出:在 AI 生成回覆時接收回覆
- 自然中斷:使用者可以在 AI 回覆到一半時中斷,就像與真人對話一樣

重要性:雙向串流技術可讓 AI 對話更自然。就像與真人對話一樣,AI 可以在你提供脈絡的同時回應,你也可以在聽到足夠的資訊後打斷 AI。
什麼是 ADK Gemini Live API 工具包?
Agent Development Kit (ADK) 提供 Gemini Live API 的高階抽象化功能,可處理即時串流的複雜管道,讓您專注於建構應用程式。

ADK Gemini Live API 工具包可管理:
- 連線生命週期:建立、維護及復原 WebSocket 連線
- 訊息轉送:將音訊、文字和圖片導向正確的處理常式
- 工作階段狀態:在重新連線時保留對話記錄
- 工具執行作業:自動呼叫函式呼叫並從中繼續
與原始 Live API 相比,ADK 的優勢為何?
您可以直接使用 Gemini Live API 建構應用程式,但 ADK 會處理複雜的基礎架構,讓您專注於應用程式:

功能 | Raw Live API | ADK Gemini Live API 工具包 |
代理框架 | 從頭建立 | 單一/多重代理程式,附帶工具、評估、安全性 |
工具執行 | 手動處理 | 自動平行執行 |
連線管理 | 手動重新連線 | 工作階段恢復機制 |
事件模型 | 自訂結構 | 統一的型別化 Event 物件 |
非同步架構 | 手動協調 | LiveRequestQueue + run_live() 生成器 |
工作階段持續性 | 手動導入 | 內建 SQL、Vertex AI 或記憶體內 |
總而言之:ADK 可將基礎架構開發時間從數月縮短至數天,讓您專心開發應用程式。您只需專注於代理程式的用途,不必瞭解串流的運作方式。
實際應用
- 客戶服務:顧客透過手機鏡頭展示有瑕疵的咖啡機,同時說明問題。AI 會識別型號和故障點,顧客可以在對話中途打斷,修正詳細資料。
- 電子商務:購物者將衣服拿到網路攝影機前,詢問「尋找與這件褲子相配的鞋子」。代理程式會分析風格,並進行流暢的來回對話:「顯示休閒一點的款式」→「這雙運動鞋如何?」→「Add the blue ones in size 10.」(新增 10 號的藍色款式)。
- 現場服務:技術人員戴著智慧眼鏡,一邊串流畫面,一邊詢問:「這個壓縮機發出奇怪的聲音,你能辨識出是什麼嗎?」代理程式會提供逐步指南,完全不必動手操作。
- 醫療照護:病患分享皮膚狀況的即時影像。AI 會進行初步分析、提出問題釐清狀況,並引導後續步驟。
- 金融服務:客戶檢視投資組合時,服務專員會顯示圖表並模擬交易影響。客戶可以分享螢幕畫面,討論特定新聞報導。
購物助理 2 示範:電子商務的即時 Agentic RAG 示範,使用 ADK Gemini Live API Toolkit 和 Vertex AI Vector Search、Embeddings、特徵儲存庫 和 Ranking API 建構:

瞭解詳情:開發人員指南
如需深入瞭解,請參閱 ADK Gemini Live API 工具包開發人員指南,這份指南共分為 5 個部分,涵蓋架構到正式版部署:
Part | 對焦 | 課程內容 |
Foundation | 架構、即時 API 平台、4 階段生命週期 | |
向上 | 透過 LiveRequestQueue 傳送文字、音訊和影片 | |
向下 | 事件處理、工具執行、多代理工作流程 | |
設定 | 工作階段管理、配額、正式版群組控制項 | |
多模態 | 音訊規格、模型架構、進階功能 |
2. 研討會總覽
建構項目
在本實作研討會中,您將從頭開始建構完整的雙向串流 AI 應用程式。完成本課程後,您將擁有可執行下列動作的語音 AI:
- 接受文字、音訊和圖片輸入
- 以串流文字或自然語音回覆
- 自然地處理中斷情況
- 使用 Google 搜尋等工具
與閱讀說明文件不同,您將逐步檢查每個元件,並在逐步建構的過程中,瞭解各個部分如何搭配運作。

學習方式
我們採用漸進式建構方法:
- 步驟 1:最簡單的 WebSocket 伺服器 →「Hello World」回應
- 步驟 2:新增代理 → 定義 AI 行為和工具
- 步驟 3:應用程式初始化 → 執行元件和工作階段服務
- 步驟 4:工作階段初始化 → 執行 RunConfig 和 LiveRequestQueue
- 步驟 5:上游工作 → 用戶端與佇列之間的通訊
- 步驟 6:下游工作 → 將事件串流至用戶端
- 步驟 7:新增音訊 → 語音輸入與輸出
- 步驟 8:新增圖片輸入內容 → 多模態 AI
每個步驟都以前一個步驟為基礎。每完成一個步驟後,請進行測試,瞭解進度。
必要條件
- 已啟用帳單的 Google Cloud 帳戶
- 具備 Python 和非同步程式設計 (async/await) 的基本知識
- 可存取麥克風和網路攝影機的網路瀏覽器 (建議使用 Chrome)
預估時間
- 完整工作坊:約 90 分鐘
- 快速版 (僅步驟 1 至 4):約 45 分鐘
3. 研討會
請按照這裡的指示開始研討會:
https://github.com/kazunori279/adk-streaming-guide/blob/main/workshops/workshop.md
4. 總結與重點回顧
建構內容
您從頭開始建構完整的雙向串流 AI 應用程式。這個應用程式會處理文字、語音和圖片輸入內容,並即時串流回應,是建構可部署於正式環境的對話式 AI 基礎。
構成要素 | 功能 | Step |
代理 | 定義 AI 個性、指令和可用工具 (例如 Google 搜尋) | 步驟 2 |
SessionService | 在重新連線時保留對話記錄 | 步驟 3 |
執行器 | 協調串流生命週期,將代理程式連線至 Live API | 步驟 3 |
RunConfig | 設定回應模式 (TEXT/AUDIO)、轉錄、工作階段續傳 | 步驟 4 |
LiveRequestQueue | 統一介面,可將文字、音訊和圖像傳送至模型 | 步驟 5 |
run_live() | 非同步產生器,可從模型產生串流事件 | 步驟 6 |
send_realtime() | 傳送音訊/圖片 Blob,以持續串流輸入 | 步驟 7-8 |
資源
歡迎參考下列官方資源,繼續學習。ADK Gemini Live API 工具包指南會深入介紹本研討會的所有內容。
資源 | 網址 |
ADK 說明文件 | |
ADK Gemini Live API 工具包指南 | |
Gemini Live API | |
Vertex AI Live API | https://cloud.google.com/vertex-ai/generative-ai/docs/live-api |
ADK 範例存放區 |