ADK Gemini Live API ツールキットの概要

1. 双方向ストリーミングとは

双方向ストリーミング(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 ツールキット

エージェント フレームワーク

最初からビルドする

ツール、評価、セキュリティを備えた単一エージェント/マルチエージェント

ツールの実行

手動処理

自動並列実行

接続管理

手動再接続

透過的なセッションの再開

イベントモデル

カスタム構造

統合された型付きイベント オブジェクト

非同期フレームワーク

手動調整

LiveRequestQueue + run_live() ジェネレータ

セッションの永続性

手動実装

組み込みの SQL、Vertex AI、インメモリ

まとめ: ADK を使用すると、インフラストラクチャの開発に数か月かかっていたものが、アプリケーションの開発に数日しかかからなくなります。ストリーミングの仕組みではなく、エージェントの動作に焦点を当てます。

実際のユースケース

  • カスタマー サービス: お客様が電話のカメラで欠陥のあるコーヒーメーカーを見せながら、問題について説明しています。AI がモデルと故障箇所を特定し、お客様は会話の途中で詳細を修正できます。
  • e コマース: 買い物客がウェブカメラに服をかざして「このパンツに合う靴を探して」と尋ねています。エージェントはスタイルを分析し、「もっとカジュアルなものを見せて」→「このスニーカーはいかがですか?」のように、スムーズなやり取りを行います。→ 「青色のサイズ 10 を追加して。」
  • フィールド サービス: スマートグラスを装着した技術者が、視界をストリーミングしながら「このコンプレッサーから変な音が聞こえるのですが、特定できますか?」と尋ねています。エージェントが手順を順を追ってハンズフリーで説明します。
  • 医療: 患者が皮膚の状態のライブ動画を共有します。AI が予備分析を行い、確認のための質問をして、次のステップを案内します。
  • 金融サービス: エージェントがグラフを表示して取引の影響をシミュレートする間、クライアントがポートフォリオを確認します。クライアントは画面を共有して、特定のニュース記事について話し合うことができます。

Shopper's Concierge 2 デモ: ADK Gemini Live API ツールキットと Vertex AI ベクトル検索、エンベディング、Feature Store、ランキング API を使用して構築された、e コマース向けのリアルタイム エージェント RAG デモ:

Shopper's Concierge 2 のデモ

詳細: デベロッパー ガイド

詳細については、ADK Gemini Live API ツールキット デベロッパー ガイドをご覧ください。このガイドは、アーキテクチャからプロダクション デプロイまでを網羅した 5 部構成のシリーズです。

パート

フォーカス

ラボの内容

パート 1

基盤

アーキテクチャ、ライブ 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: [Add Audio](音声を追加)→ [Voice input and output](音声入力と音声出力)
  • ステップ 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 ツールキット ガイドでは、このワークショップのすべての内容について詳しく説明しています。

リソース

URL

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