ADK Gemini Live API Toolkit 簡介

1. 什麼是 Bidi 串流?

雙向串流 (bidi-streaming) 可讓應用程式和 AI 模型同時進行雙向通訊。傳統的要求/回應模式會傳送完整訊息並等待完整回覆,但雙向串流可讓您:

  • 連續輸入:串流擷取的音訊、影片或文字
  • 即時輸出:在 AI 生成回覆時接收回覆
  • 自然中斷:使用者可以在 AI 回覆到一半時中斷,就像與真人對話一樣

6e82a81aa114e116.png

重要性:雙向串流技術可讓 AI 對話更自然。就像與真人對話一樣,AI 可以在你提供脈絡的同時回應,你也可以在聽到足夠的資訊後打斷 AI。

什麼是 ADK Gemini Live API 工具包?

Agent Development Kit (ADK) 提供 Gemini Live API 的高階抽象化功能,可處理即時串流的複雜管道,讓您專注於建構應用程式。

b0066935f4c245d2.png

ADK Gemini Live API 工具包可管理:

  • 連線生命週期:建立、維護及復原 WebSocket 連線
  • 訊息轉送:將音訊、文字和圖片導向正確的處理常式
  • 工作階段狀態:在重新連線時保留對話記錄
  • 工具執行作業:自動呼叫函式呼叫並從中繼續

與原始 Live API 相比,ADK 的優勢為何?

您可以直接使用 Gemini Live API 建構應用程式,但 ADK 會處理複雜的基礎架構,讓您專注於應用程式:

61c685c2703e3aac.png

功能

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 建構:

Shopper's Concierge 2 示範

瞭解詳情:開發人員指南

如需深入瞭解,請參閱 ADK Gemini Live API 工具包開發人員指南,這份指南共分為 5 個部分,涵蓋架構到正式版部署:

Part

對焦

課程內容

第 1 部分

Foundation

架構、即時 API 平台、4 階段生命週期

第 2 部分

向上

透過 LiveRequestQueue 傳送文字、音訊和影片

第 3 部分

向下

事件處理、工具執行、多代理工作流程

第 4 部分

設定

工作階段管理、配額、正式版群組控制項

第 5 部分

多模態

音訊規格、模型架構、進階功能

2. 研討會總覽

建構項目

在本實作研討會中,您將從頭開始建構完整的雙向串流 AI 應用程式。完成本課程後,您將擁有可執行下列動作的語音 AI:

  • 接受文字、音訊和圖片輸入
  • 以串流文字或自然語音回覆
  • 自然地處理中斷情況
  • 使用 Google 搜尋等工具

與閱讀說明文件不同,您將逐步檢查每個元件,並在逐步建構的過程中,瞭解各個部分如何搭配運作。

ADK Gemini Live API 工具包示範

學習方式

我們採用漸進式建構方法:

  • 步驟 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 說明文件

https://google.github.io/adk-docs/

ADK Gemini Live API 工具包指南

https://google.github.io/adk-docs/streaming/dev-guide/

Gemini Live API

https://ai.google.dev/gemini-api/docs/live

Vertex AI Live API

https://cloud.google.com/vertex-ai/generative-ai/docs/live-api

ADK 範例存放區

https://github.com/google/adk-samples