コンテンツにスキップ

クイックスタート (ストリーミング / Python)

このクイックスタートでは、シンプルなエージェントを作成し、ADKストリーミングを使用して低遅延かつ双方向の音声・映像コミュニケーションを有効にする方法を学びます。ADKをインストールし、基本的な「Google検索」エージェントをセットアップし、adk webツールでストリーミングエージェントを実行してみます。その後、ADKストリーミングとFastAPIを使用して、自分で簡単な非同期Webアプリを構築する方法を説明します。

注: このガイドは、Windows、Mac、Linux環境でのターミナル使用経験があることを前提としています。

音声/映像ストリーミングでサポートされているモデル

ADKで音声/映像ストリーミングを使用するには、Live APIをサポートするGeminiモデルを使用する必要があります。Gemini Live APIをサポートするモデルIDは、以下のドキュメントで確認できます。

1. 環境のセットアップとADKのインストール

仮想環境の作成と有効化(推奨):

# 作成
python -m venv .venv
# 有効化(新しいターミナルごと)
# macOS/Linux: source .venv/bin/activate
# Windows CMD: .venv\Scripts\activate.bat
# Windows PowerShell: .venv\Scripts\Activate.ps1

ADKのインストール:

pip install google-adk

2. プロジェクト構造

空のファイルで以下のフォルダ構造を作成します。

adk-streaming/  # プロジェクトフォルダ
└── app/ # Webアプリのフォルダ
    ├── .env # Gemini APIキー
    └── google_search_agent/ # エージェントのフォルダ
        ├── __init__.py # Pythonパッケージ
        └── agent.py # エージェントの定義

agent.py

以下のコードブロックをコピーして、agent.pyファイルに貼り付けます。

modelについては、前述のモデルセクションで説明したように、モデルIDを再確認してください。

from google.adk.agents import Agent
from google.adk.tools import google_search  # ツールをインポート

root_agent = Agent(
   # エージェントの一意な名前。
   name="basic_search_agent",
   # エージェントが使用する大規模言語モデル(LLM)。
   # 以下のリンクからliveをサポートする最新のモデルIDを入力してください。
   # https://google.github.io/adk-docs/get-started/streaming/quickstart-streaming/#supported-models
   model="...",  # 例: model="gemini-2.0-flash-live-001" または model="gemini-2.0-flash-live-preview-04-09"
   # エージェントの目的の簡単な説明。
   description="Google検索を使用して質問に答えるエージェント。",
   # エージェントの振る舞いを設定するための指示。
   instruction="あなたは熟練した研究者です。常に事実に忠実に行動します。",
   # Google検索でグラウンディングを実行するためにgoogle_searchツールを追加します。
   tools=[google_search]
)

agent.pyには、すべてのエージェントのロジックが保存され、root_agentが定義されている必要があります。

Google検索によるグラウンディング機能がどれほど簡単に統合されたかに注目してください。Agentクラスとgoogle_searchツールが、LLMや検索APIとの複雑な相互作用を処理するため、あなたはエージェントの目的振る舞いに集中できます。

intro_components.png

以下のコードブロックを__init__.pyファイルにコピーして貼り付けます。

__init__.py
from . import agent

3. プラットフォームのセットアップ

エージェントを実行するには、Google AI StudioまたはGoogle Cloud Vertex AIからプラットフォームを選択します。

  1. Google AI StudioからAPIキーを取得します。
  2. app/内にある.envファイルを開き、以下のコードをコピーして貼り付けます。

    .env
    GOOGLE_GENAI_USE_VERTEXAI=FALSE
    GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_API_KEY_HERE
    
  3. PASTE_YOUR_ACTUAL_API_KEY_HEREを実際のAPI KEYに置き換えてください。

  1. 既存のGoogle Cloudアカウントとプロジェクトが必要です。
  2. app/内にある.envファイルを開きます。以下のコードをコピーして貼り付け、プロジェクトIDとロケーションを更新してください。

    .env
    GOOGLE_GENAI_USE_VERTEXAI=TRUE
    GOOGLE_CLOUD_PROJECT=PASTE_YOUR_ACTUAL_PROJECT_ID
    GOOGLE_CLOUD_LOCATION=us-central1
    

4. adk webでエージェントを試す

これでエージェントを試す準備ができました。次のコマンドを実行して開発UIを起動します。まず、現在のディレクトリをappに設定してください。

cd app

また、次のコマンドでSSL_CERT_FILE変数を設定します。これは後の音声および映像テストで必要になります。

export SSL_CERT_FILE=$(python -m certifi)

次に、開発UIを実行します。

adk web

Windowsユーザーへの注意

_make_subprocess_transport NotImplementedErrorが発生した場合は、代わりにadk web --no-reloadの使用を検討してください。

提供されたURL(通常は http://localhost:8000 または http://127.0.0.1:8000)を直接ブラウザで開きます。この接続は、完全にローカルマシン上に留まります。google_search_agentを選択します。

テキストで試す

UIに以下のプロンプトを入力して試してみてください。

  • ニューヨークの天気は?
  • ニューヨークの今の時間は?
  • パリの天気は?
  • パリの今の時間は?

エージェントはgoogle_searchツールを使用して、これらの質問に答えるための最新情報を取得します。

音声と映像で試す

音声で試すには、Webブラウザをリロードし、マイクボタンをクリックして音声入力を有効にし、同じ質問を音声で行います。リアルタイムで音声の回答が聞こえます。

映像で試すには、Webブラウザをリロードし、カメラボタンをクリックして映像入力を有効にし、「何が見えますか?」のような質問をします。エージェントは映像入力で見えるものについて回答します。

(マイクまたはカメラボタンを一度クリックするだけで十分です。音声や映像はモデルに継続的にストリーミングされ、モデルの応答も継続的にストリーミングで返されます。マイクまたはカメラボタンを複数回クリックすることはサポートされていません。)

ツールを停止する

コンソールでCtrl-Cを押してadk webを停止します。

ADKストリーミングに関する注意

以下の機能は、ADKストリーミングの将来のバージョンでサポートされる予定です:Callback、LongRunningTool、ExampleTool、およびシェルエージェント(例:SequentialAgent)。

おめでとうございます!ADKを使用して、最初のストリーミングエージェントの作成と対話に成功しました!

次のステップ:カスタムストリーミングアプリの構築

カスタム音声ストリーミングアプリのチュートリアルでは、ADKストリーミングとFastAPIで構築されたカスタム非同期Webアプリのサーバーとクライアントのコードの概要を説明し、リアルタイムの双方向音声およびテキスト通信を可能にします。