ADK AI エージェントと Gemini モデルを使用してステートメントのファクト チェックを行う

コーディング レベル: 上級
所要時間: 30 分
プロジェクト タイプ: カスタム関数

概要

Vertex AI エージェントと Gemini モデルを搭載したバインドされた Apps Script プロジェクトとして使用される Google スプレッドシートのファクト チェック カスタム関数。

このサンプルでは、次の 2 つの強力な AI リソースを Google スプレッドシートで直接使用する方法を示します。

  1. Vertex AI Agent Engine にデプロイされた ADK エージェントを使用して、高度なマルチツール、マルチステップの推論機能を備えた AI エージェント
  2. Vertex AI の Gemini モデルを使用して高度な理解、生成、要約を行うための AI モデル

ファクト チェックの Google スプレッドシート カスタム関数の使用例

目標

  • ソリューションの機能を理解します。
  • ソリューションの実装方法を理解する。
  • Vertex AI エージェントをデプロイします。
  • スクリプトを設定します。
  • スクリプトを実行します。

このソリューションについて

スプレッドシートのカスタム関数は FACT_CHECK という名前で、エンドツーエンド ソリューションとして機能します。ステートメントを分析し、最新のウェブ情報を使用して回答の根拠を示し、必要な形式で結果を返します。

このソリューションでは、UrlFetchApp を使用して Vertex AI REST API をリクエストします。

アーキテクチャ

次の図は、カスタム関数で使用される Google Workspace と Google Cloud リソースのアーキテクチャを示しています。

ファクト チェックの Google スプレッドシート カスタム関数のアーキテクチャ図

前提条件

このサンプルを使用するには、次の前提条件を満たしている必要があります。

環境を準備する

このセクションでは、Google Cloud プロジェクトを作成して構成する方法について説明します。

Google Cloud プロジェクトを作成する

Google Cloud コンソール

  1. Google Cloud コンソールで、メニュー > [IAM と管理] > [プロジェクトを作成] に移動します。

    [Create a Project] に移動

  2. [プロジェクト名] フィールドに、プロジェクトのわかりやすい名前を入力します。

    省略可: プロジェクト ID を編集するには、[編集] をクリックします。プロジェクトの作成後にプロジェクト ID を変更することはできないため、プロジェクトのライフタイムを考慮してニーズに合った ID を指定してください。

  3. [ロケーション] フィールドで、[参照] をクリックして、プロジェクトの候補となるロケーションを表示します。[選択] をクリックします。
  4. [作成] をクリックします。Google Cloud コンソールが [ダッシュボード] ページに移動し、数分以内にプロジェクトが作成されます。

gcloud CLI

次のいずれかの開発環境で、Google Cloud CLI(gcloud)にアクセスします。

  • Cloud Shell: gcloud CLI がすでに設定されているオンライン ターミナルを使用するには、Cloud Shell をアクティブにします。
    Cloud Shell をアクティブにする
  • ローカルシェル: ローカル開発環境を使用するには、gcloud CLI をインストールして初期化します。
    Cloud プロジェクトを作成するには、gcloud projects create コマンドを使用します。
    gcloud projects create PROJECT_ID
    作成するプロジェクトの ID を設定して、PROJECT_ID を置き換えます。

Cloud プロジェクトに対する課金を有効にする

Google Cloud コンソール

  1. Google Cloud コンソールで、[お支払い] に移動します。[メニュー] > [お支払い] > [マイ プロジェクト] をクリックします。

    [マイ プロジェクトの課金] に移動

  2. [組織を選択] で、Google Cloud プロジェクトに関連付けられている組織を選択します。
  3. プロジェクトの行で、[アクション] メニュー()を開き、[お支払い情報を変更] をクリックして、Cloud 請求先アカウントを選択します。
  4. [アカウントを設定] をクリックします。

gcloud CLI

  1. 使用可能な請求先アカウントを一覧表示するには、次のコマンドを実行します。
    gcloud billing accounts list
  2. 請求先アカウントを Google Cloud プロジェクトにリンクします。
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    次のように置き換えます。

    • PROJECT_ID は、課金を有効にする Cloud プロジェクトのプロジェクト ID です。
    • BILLING_ACCOUNT_ID は、Google Cloud プロジェクトにリンクする請求先アカウント ID です。

Vertex AI API を有効にする

Google Cloud コンソール

  1. Google Cloud コンソールで、Vertex AI API を有効にします。

    API を有効にする

  2. 正しい Cloud プロジェクトで Vertex AI API を有効にしていることを確認し、[次へ] をクリックします。

  3. 正しい API を有効にしていることを確認し、[有効にする] をクリックします。

gcloud CLI

  1. 必要に応じて、現在の Cloud プロジェクトを gcloud config set project コマンドで作成したプロジェクトに設定します。

    gcloud config set project PROJECT_ID

    PROJECT_ID は、作成した Cloud プロジェクトのプロジェクト ID に置き換えます。

  2. gcloud services enable コマンドを使用して Vertex AI API を有効にします。

    gcloud services enable aiplatform.googleapis.com

Google Cloud コンソールでサービス アカウントを作成する

次の手順に沿って、ロール Vertex AI User を持つ新しいサービス アカウントを作成します。

Google Cloud コンソール

  1. Google Cloud コンソールで、メニュー > [IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. [サービス アカウントを作成] をクリックします。
  3. サービス アカウントの詳細を入力し、[作成して続行] をクリックします。
  4. 省略可: サービス アカウントにロールを割り当て、Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。
  5. [続行] をクリックします。
  6. 省略可: このサービス アカウントを管理してアクションを実行できるユーザーまたはグループを入力します。詳細については、サービス アカウントの権限借用を管理するをご覧ください。
  7. [完了] をクリックします。サービス アカウントのメールアドレスをメモします。

gcloud CLI

  1. サービス アカウントを作成します。
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. 省略可: サービス アカウントにロールを割り当て、Google Cloud プロジェクトのリソースへのアクセス権を付与します。詳細については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。

サービス アカウントが [サービス アカウント] ページに表示されます。次に、サービス アカウントの秘密鍵を作成します。

秘密鍵を作成する

サービス アカウントの秘密鍵を作成してダウンロードする手順は次のとおりです。

  1. Google Cloud コンソールで、メニュー > [IAM と管理] > [サービス アカウント] に移動します。

    [サービス アカウント] に移動

  2. サービス アカウントを選択します。
  3. [] > [鍵を追加] > [新しい鍵を作成] をクリックします。
  4. [JSON] を選択し、[作成] をクリックします。

    新しい公開鍵と秘密鍵のペアが生成され、新しいファイルとしてパソコンにダウンロードされます。ダウンロードした JSON ファイルを作業ディレクトリに credentials.json として保存します。このファイルはこの鍵の唯一のコピーです。キーを安全に保存する方法については、サービス アカウント キーの管理をご覧ください。

  5. [閉じる] をクリックします。

サービス アカウントの詳細については、Google Cloud IAM ドキュメントのサービス アカウントをご覧ください。

LLM Auditor ADK AI エージェントをデプロイする

  1. まだ行っていない場合は、Google Cloud アカウントで認証し、Google Cloud プロジェクトを使用するように Google Cloud CLI を構成します。

    gcloud auth application-default login
    gcloud config set project PROJECT_ID
    gcloud auth application-default set-quota-project PROJECT_ID

    PROJECT_ID は、作成した Cloud プロジェクトの ID に置き換えます。

  2. この GitHub リポジトリをダウンロードする

    ダウンロード

  3. 任意のローカル開発環境で、ダウンロードしたアーカイブ ファイルを抽出し、adk-samples/python/agents/llm-auditor ディレクトリを開きます。

    unzip adk-samples-main.zip
    cd adk-samples-main/python/agents/llm-auditor
  4. ADK エージェント専用の新しい Cloud Storage バケットを作成します。

    gcloud storage buckets create gs://CLOUD_STORAGE_BUCKET_NAME --project=PROJECT_ID --location=PROJECT_LOCATION

    次のように置き換えます。

    1. CLOUD_STORAGE_BUCKET_NAME は、使用する一意のバケット名に置き換えます。
    2. PROJECT_ID は、作成した Cloud プロジェクトの ID に置き換えます。
    3. PROJECT_LOCATION は、作成した Cloud プロジェクトのロケーションに置き換えます。
  5. 次の環境変数を設定します。

    export GOOGLE_GENAI_USE_VERTEXAI=true
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    export GOOGLE_CLOUD_LOCATION=PROJECT_LOCATION
    export GOOGLE_CLOUD_STORAGE_BUCKET=CLOUD_STORAGE_BUCKET_NAME

    次のように置き換えます。

    1. CLOUD_STORAGE_BUCKET_NAME は、作成したバケットの名前に置き換えます。
    2. PROJECT_ID は、作成した Cloud プロジェクトの ID に置き換えます。
    3. PROJECT_LOCATION は、作成した Cloud プロジェクトのロケーションに置き換えます。
  6. 仮想環境から ADK エージェントをインストールしてデプロイします。

    python3 -m venv myenv
    source myenv/bin/activate
    poetry install --with deployment
    python3 deployment/deploy.py --create
  7. エージェント ID を取得します。これは、後でカスタム関数を構成するときに必要になります。

    python3 deployment/deploy.py --list

サンプルコードを確認する

必要に応じて、新しいスプレッドシートを作成する前に、GitHub でホストされているサンプルコードを確認して、その内容を把握してください。

GitHub で表示

新しいスプレッドシートで作成して設定する

  1. 次のボタンをクリックして、コンテナ バインドの Apps Script プロジェクトを含むサンプル Google スプレッドシートの完全なコピーを作成します。

    Google スプレッドシートのコピー

  2. 新しく作成したスプレッドシートで、[拡張機能] > [Apps Script] に移動します。

  3. Apps Script プロジェクトで、[プロジェクトの設定] に移動し、[スクリプト プロパティを編集] をクリックしてから、[スクリプト プロパティを追加] をクリックして、次のスクリプト プロパティを追加します。

    1. LOCATION は、前の手順で作成した Google Cloud プロジェクトのロケーション(us-central1 など)に置き換えます。
    2. GEMINI_MODEL_ID は、使用する Gemini モデル(gemini-2.5-flash-lite など)に置き換えます。
    3. REASONING_ENGINE_ID は、前の手順でデプロイした LLM Auditor ADK エージェントの ID(1234567890 など)に置き換えます。
    4. SERVICE_ACCOUNT_KEY は、前の手順でダウンロードしたサービス アカウントの JSON キー({ ... } など)に置き換えます。
  4. [スクリプト プロパティを保存] をクリックします。

カスタム関数をテストする

  1. 新しく作成したスプレッドシートに移動します。
  2. 列 A のステートメントを変更します。
  3. 列 B の数式が実行され、ファクト チェックの結果が表示されます。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、Cloud プロジェクトを削除することをおすすめします。

  1. Google Cloud コンソールで、[リソースの管理] ページに移動します。メニュー アイコン > [IAM と管理] > [リソースの管理] をクリックします。

    Resource Manager に移動します。

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ