Slack の生成 AI エージェント: API 呼び出しによるドキュメントとアクションに関する Q&A

Slack の生成 AI エージェント:
API 呼び出しによるドキュメントとアクションに関する Q&A

この Codelab について

subject最終更新: 4月 21, 2025
account_circle作成者: Andrey Shakirov

1. 概要

このラボでは、GenAI エージェントを作成し、Cloud Run アプリケーションに接続して、エージェントを Slack ワークスペースに統合します。

3301e2bb69be325.png

学習内容

このラボは主に次の部分で構成されています。

  • Cloud Run アプリケーションをデプロイして Gemini API と統合する
  • AI アプリケーションで会話型エージェントを作成してデプロイする
  • エージェントを Slack に統合する
  • PDF ドキュメントを介した Q&A 用のデータストアを構成する

前提条件

  • このラボは、Cloud コンソールと Cloud Shell 環境に精通していることを前提としています。

2. 設定と要件

Cloud プロジェクトの設定

  1. Google Cloud Console にログインして、プロジェクトを新規作成するか、既存のプロジェクトを再利用します。Gmail アカウントも Google Workspace アカウントもまだお持ちでない場合は、アカウントを作成してください。

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • プロジェクト名は、このプロジェクトの参加者に表示される名称です。Google API では使用されない文字列です。いつでも更新できます。
  • プロジェクト ID は、すべての Google Cloud プロジェクトにおいて一意でなければならず、不変です(設定後は変更できません)。Cloud コンソールでは一意の文字列が自動生成されます。通常は、この内容を意識する必要はありません。ほとんどの Codelab では、プロジェクト ID(通常は PROJECT_ID と識別されます)を参照する必要があります。生成された ID が好みではない場合は、ランダムに別の ID を生成できます。または、ご自身で試して、利用可能かどうかを確認することもできます。このステップ以降は変更できず、プロジェクトを通して同じ ID になります。
  • なお、3 つ目の値として、一部の API が使用するプロジェクト番号があります。これら 3 つの値について詳しくは、こちらのドキュメントをご覧ください。
  1. 次に、Cloud のリソースや API を使用するために、Cloud コンソールで課金を有効にする必要があります。この Codelab の操作をすべて行って、費用が生じたとしても、少額です。このチュートリアルの終了後に請求が発生しないようにリソースをシャットダウンするには、作成したリソースを削除するか、プロジェクトを削除します。Google Cloud の新規ユーザーは、300 米ドル分の無料トライアル プログラムをご利用いただけます。

環境設定

Gemini チャットを開きます。

e1e9ad314691368a.png

Gemini for Google Cloud API を有効にします。

933612a23648361c.png

b366894eb450f862.png

[Start chatting] をクリックして、サンプルの質問のいずれかを使用するか、独自のプロンプトを入力して試します。

ed120d672468b412.png

プロンプトの例:

  • Cloud Run の 5 つの主なポイントについて説明します。
  • Google Cloud Run プロダクト マネージャーとして、5 つの重要なポイントで Cloud Run を学生に説明します。
  • Google Cloud Run プロダクト マネージャーとして、認定 Kubernetes デベロッパーに Cloud Run を 5 つの重要なポイントで説明します。
  • Google Cloud Run プロダクト マネージャーとして、Cloud Run と GKE のどちらを使用するかを、シニア デベロッパーに 5 つの重要なポイントで説明します。

より良いプロンプトの作成方法については、プロンプト ガイドをご覧ください。

Gemini for Google Cloud がデータを使用する方法

Google のプライバシーに関する取り組み

Google は、AI/ML のプライバシーに関する取り組み を業界で最初に発表した企業の 1 つです。この取り組みは、お客様はクラウドに保存されている自社のデータについて最高レベルのセキュリティとコントロールを得られるべきだという、Google の信念を概説したものです。

送信および受信するデータ

Gemini に尋ねる質問(Gemini に送信して分析または完成される入力情報やコードなど)は、プロンプトと呼ばれます。Gemini から受け取る回答やコード補完は、レスポンスと呼ばれます。Gemini がプロンプトやそのレスポンスをデータとして使用してモデルをトレーニングすることはありせん

プロンプトの暗号化

Gemini にプロンプトを送信すると、Gemini の基盤モデルへの入力としてデータが転送中に暗号化されます。

Gemini によって生成されたプログラム データ

Gemini は、ファーストパーティの Google Cloud コードと選択したサードパーティ コードでトレーニングされています。コードのセキュリティ、テスト、有効性(Gemini によるコード補完、生成、分析など)については、ユーザーが責任を負います

Google がメッセージを取り扱う方法について詳しくは、こちらをご覧ください。

3. プロンプトをテストするオプション

プロンプトをテストする方法はいくつかあります。

Vertex AI Studio は、Google Cloud の Vertex AI プラットフォームの一部であり、生成 AI モデルの開発と使用を簡素化して加速するように設計されています。

Google AI Studio は、プロンプト エンジニアリングと Gemini API のプロトタイピングとテストを行うためのウェブベースのツールです。

Google Gemini ウェブアプリ(gemini.google.com)は、Google の Gemini AI モデルの機能を探索して活用できるように設計されたウェブベースのツールです。

4. リポジトリのクローンを作成する

Google Cloud コンソールに移動し、検索バーの右側にあるアイコンをクリックして Cloud Shell を有効にします。

3e0c761ca41f315e.png

承認を求められたら、[承認] をクリックして続行します。

6356559df3eccdda.png

開いたターミナルで、次のコマンドを実行します。

git clone https://github.com/GoogleCloudPlatform/genai-for-developers.git

cd genai
-for-developers

git checkout slack
-agent-jira-lab

[エディタを開く] をクリックします。

63e838aebfdd2423.png

[File / Open Folder] メニュー項目を使用して [genai-for-developers] を開きます。

e3b9bd9682acf539.png

新しいターミナルを開く

4d9c41ab01ff4e97.png

5. サービス アカウントを作成する

新しいサービス アカウントを作成します。このサービス アカウントを使用して、Cloud Run アプリケーションから Vertex AI Gemini API への API 呼び出しを行います。

Qwiklabs のプロジェクトの詳細を使用して、プロジェクトの詳細を構成します。

例: qwiklabs-gcp-00-2c10937585bb

gcloud config set project YOUR_QWIKLABS_PROJECT_ID

サービス アカウントを作成します。

export LOCATION=us-central1
export PROJECT_ID=$(gcloud config get-value project)
export SERVICE_ACCOUNT_NAME='vertex-client'
export DISPLAY_NAME='Vertex Client'

gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME --project $PROJECT_ID --display-name "$DISPLAY_NAME"

ロールを付与します。

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudbuild.builds.editor"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/storage.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/run.admin"

gcloud projects add-iam-policy-binding $PROJECT_ID --member="serviceAccount:$SERVICE_ACCOUNT_NAME@$PROJECT_ID.iam.gserviceaccount.com" --role="roles/secretmanager.secretAccessor"

Vertex AI API と Gemini チャットを使用するのに必要なサービスを有効にします。

gcloud services enable \
    generativelanguage
.googleapis.com \
    aiplatform
.googleapis.com \
    cloudaicompanion
.googleapis.com \
    dialogflow
.googleapis.com \
    run
.googleapis.com \
    cloudresourcemanager
.googleapis.com \
    discoveryengine
.googleapis.com

Vertex AI API と Gemini チャットを使用するのに必要なサービスを有効にします。

gcloud services enable \
    artifactregistry.googleapis.com \
    cloudbuild.googleapis.com \
    runapps.googleapis.com \
    workstations.googleapis.com \
    servicemanagement.googleapis.com \
    secretmanager.googleapis.com \
    containerscanning.googleapis.com

Gemini Code Assist を使用してコードを説明する

ファイル「devai-api/app/routes.py」を開き、ファイル内の任意の場所を右クリックして、コンテキスト メニューから [Gemini Code Assist > Explain this"] を選択します。

427ed40dd44cab8a.png

選択したファイルに関する Gemini の説明を確認します。

a286d1e85bc42960.png

6. Devai-API を Cloud Run にデプロイする

正しいフォルダにいることを確認します。

cd ~/genai-for-developers/devai-api

このラボでは、ベスト プラクティスに沿って Secret Manager を使用して、Cloud Run にアクセス トークンと LangChain API キーの値を保存し、参照します。

環境変数を設定します。このコマンドは変更せずにそのまま実行します。

export JIRA_API_TOKEN=your-jira-token
export JIRA_USERNAME="YOUR-EMAIL"
export JIRA_INSTANCE_URL="https://YOUR-JIRA-PROJECT.atlassian.net"
export JIRA_PROJECT_KEY="YOUR-JIRA-PROJECT-KEY"
export JIRA_CLOUD=true

export GITLAB_PERSONAL_ACCESS_TOKEN=your-gitlab-token
export GITLAB_URL="https://gitlab.com"
export GITLAB_BRANCH="devai"
export GITLAB_BASE_BRANCH="main"
export GITLAB_REPOSITORY="GITLAB-USERID/GITLAB-REPO"

export LANGCHAIN_API_KEY=your-langchain-key
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"

Secret Manager に複数の Secret を作成して保存します。

echo -n $JIRA_API_TOKEN | \
 gcloud secrets create JIRA_API_TOKEN
\
 
--data-file=-

echo
-n $GITLAB_PERSONAL_ACCESS_TOKEN | \
 gcloud secrets create GITLAB_PERSONAL_ACCESS_TOKEN
\
 
--data-file=-

echo
-n $LANGCHAIN_API_KEY | \
 gcloud secrets create LANGCHAIN_API_KEY
\
 
--data-file=-

アプリケーションを Cloud Run にデプロイします。

gcloud run deploy devai-api \
  --source=. \
  --region="$LOCATION" \
  --allow-unauthenticated \
  --service-account vertex-client \
  --set-env-vars PROJECT_ID="$PROJECT_ID" \
  --set-env-vars LOCATION="$LOCATION" \
  --set-env-vars GITLAB_URL="$GITLAB_URL" \
  --set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
  --set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
  --set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
  --set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
  --set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
  --set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
  --set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
  --set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
  --update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
  --update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
  --update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
  --min-instances=1 \
  --max-instances=3

Y と回答して、Artifact Registry Docker リポジトリを作成します。

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in 
region [us-central1] will be created.

Do you want to continue (Y/n)?  y

コマンドの説明を Gemini に尋ねます。

What does this command do?

gcloud run deploy devai-api \
  --source=. \
  --region="$LOCATION" \
  --allow-unauthenticated \
  --service-account vertex-client \
  --set-env-vars PROJECT_ID="$PROJECT_ID" \
  --set-env-vars LOCATION="$LOCATION" \
  --set-env-vars GITLAB_URL="$GITLAB_URL" \
  --set-env-vars GITLAB_REPOSITORY="$GITLAB_REPOSITORY" \
  --set-env-vars GITLAB_BRANCH="$GITLAB_BRANCH" \
  --set-env-vars GITLAB_BASE_BRANCH="$GITLAB_BASE_BRANCH" \
  --set-env-vars JIRA_USERNAME="$JIRA_USERNAME" \
  --set-env-vars JIRA_INSTANCE_URL="$JIRA_INSTANCE_URL" \
  --set-env-vars JIRA_PROJECT_KEY="$JIRA_PROJECT_KEY" \
  --set-env-vars JIRA_CLOUD="$JIRA_CLOUD" \
  --set-env-vars LANGCHAIN_TRACING_V2="$LANGCHAIN_TRACING_V2" \
  --update-secrets="LANGCHAIN_API_KEY=LANGCHAIN_API_KEY:latest" \
  --update-secrets="GITLAB_PERSONAL_ACCESS_TOKEN=GITLAB_PERSONAL_ACCESS_TOKEN:latest" \
  --update-secrets="JIRA_API_TOKEN=JIRA_API_TOKEN:latest" \
  --min-instances=1 \
  --max-instances=3

34ed504e0bcf697b.png

以下の gcloud run deploy SERVICE_NAME --source=. フローをご確認ください。詳細

5c122a89dd11822e.png

このコマンドはバックグラウンドで Google Cloud の buildpacksCloud Build を使用して、ソースコードからコンテナ イメージを自動的にビルドします。Docker のマシンへのインストールや Buildpack や Cloud Build の設定は不要です。つまり、上記のコマンドで必要とするのは gcloud builds submit コマンドと gcloud run deploy コマンドだけです。

Dockerfile を指定した場合(このリポジトリでは指定しています)、Cloud Build はそれをコンテナ イメージのビルドに使用します。Buildpack に依存してコンテナ イメージを自動的に検出してビルドすることはありません。Buildpack の詳細については、ドキュメントをご覧ください。

コンソールで Cloud Build のログを確認します。

Artifact Registry で作成された Docker イメージを確認します。

Cloud コンソールで Cloud Run インスタンスの詳細を確認します。

curl コマンドを実行してエンドポイントをテストします。

curl -X POST \
   
-H "Content-Type: application/json" \
   
-d '{"prompt": "PROJECT-100"}' \
   $
(gcloud  run services list --filter="(devai-api)" --format="value(URL)")/generate

レスポンスはマークダウン形式で返されます。読みやすくするためにプレビュー モードで表示。

bda86deaa1c449a8.png

7. AI アプリケーション

Google Cloud コンソールの検索バーに「AI Applications」と入力して開きます。

3f8540f5c946e199.png

Conversational Agent アプリを作成します。

6f372cbe4935c507.png

[Build your own] を選択します。

5305cb9a8320f468.png

表示名に「Agent」と入力し、[作成] をクリックします。

e0056adc2f8af87.png

ハンドブック名を設定します。

Agent

目標を設定:

Help users with questions about JIRA project

セットアップ手順:

- Greet the users, then ask how you can help them today.
- Summarize the user's request and ask them to confirm that you understood correctly.
  - If necessary, seek clarifying details.
- Thank the user for their business and say goodbye.

[Save] をクリックします。

bb2569de77cd1f06.png

右側のシミュレータ チャットを使用してエージェントをテストします。

593dd4b8fc4c20d9.png

次のように、類似の会話に沿って対応します。

66a7569835ebc7e7.png

エージェントのツールの構成

左側のレンチアイコンにカーソルを合わせます。[ツール] メニューを開き、新しいツールを作成します。

ff635e2d135ea6d8.png

[Type] プルダウンから OpenAPI を選択します。

ツール名を設定する:

jira-project-status

セットの説明:

Provides JIRA project status

タブを切り替えて、Cloud Run サービス URL のコンソール出力を確認します。サービス URL の値をコピーします。

スキーマを設定する(YAML)- YOUR CLOUD RUN URL を置き換えます。

openapi: 3.0.0
info:
 title: CR API
 version: 1.0.0
 description: >-
   This is the OpenAPI specification of a service.
servers:
 - url: 'https://YOUR CLOUD RUN URL'
paths:

 /generate:
   post:
     summary: Request impl
     operationId: generate
     requestBody:
       description: Request impl
       required: true
       content:
         application/json:
           schema:
             $ref: '#/components/schemas/Prompt'
     responses:
       '200':
         description: Generated
         content:
           application/json:
             schema:
               $ref: '#/components/schemas/ProjectStatus'
                 
components:
 schemas:
   Prompt:
     type: object
     required:
       - prompt
     properties:
       prompt:
         type: string
   ProjectStatus:
     type: object
     required:
       - message
     properties:
       message:
         type: string

ツールの構成を保存します。

ae78c21f48754d7a.png

左側のメニューから [ハンドブック] を選択してエージェントの設定に戻り、ツールの使用手順を更新します。

新しいツールの使用手順を追加し、[Save] をクリックします。

- Use ${TOOL: jira-project-status} to help the user with JIRA project status.

16755dd3aaf3888.png

[Examples] タブに切り替えて、新しい例を追加します。

a74004679865ab6e.png

表示名を設定する:

jira-project-flow

下部にあるメニューを使用して、ユーザーとエージェント間の会話をモデル化します。

質問の流れの例を次に示します。

エージェントの回答: プロジェクト ID を教えていただけますか?

ユーザー入力: TEST-PROJECT-100

ツールの使用: jira-project-status

エージェントの回答: プロジェクトのステータスの詳細。

6d54f90f1dc630fc.png

以下のリファレンスを使用して例を作成します。

c80eef4210256e5a.png

5affaee4cd54616e.png

Save をクリックします。エージェント シミュレータに戻り、既存の会話をリセットします。フローをテストします。

ac9db60831b0f684.png

a9fbafd45139d434.png

これで、Cloud Run にデプロイされたアプリケーション(API)にリンクされたツールを統合することで、エージェントがアクションを実行し、エージェントの機能を拡張できるようになりました。

e8b113e0cc1b8ad6.png

会話型エージェントのベスト プラクティスを確認する

利用可能なエージェント設定を確認する

  • ロギング設定 - Cloud Logging を有効にする
  • Git との統合 - Git との統合により、Git リポジトリからエージェントを push および pull できます。
  • 生成モデルの選択
  • トークンの上限(入出力)

f914db1d8a5d5447.png

エージェント シミュレータのコントロールを確認します。

d1c4712603d4a8a2.png

8. Slack との統合

[Integrations] メニューを開き、[Slack] タイルにある [Connect] をクリックします。

6fc0ad95c28cb6c8.png

e7ee0826668bfa2b.png

b29574fd2a0f9725.png

リンクを開き、https://api.slack.com/apps で新しい Slack アプリを作成します。

cbf13edc1b284899.png

[マニフェスト] から選択します。

7721feb295693ea2.png

アプリを開発するワークスペースを選択する

99a3d5b37cdf8f76.png

YAML に切り替えて、次のマニフェストを貼り付けます。

display_information:
  name: Agent
  description: Agent
  background_color: "#1148b8"
features:
  app_home:
    home_tab_enabled: false
    messages_tab_enabled: true
    messages_tab_read_only_enabled: false
  bot_user:
    display_name: Agent
    always_online: true
oauth_config:
  scopes:
    bot:
      - app_mentions:read
      - chat:write
      - im:history
      - im:read
      - im:write
      - incoming-webhook
settings:
  event_subscriptions:
    request_url: https://dialogflow-slack-4vnhuutqka-uc.a.run.app
    bot_events:
      - app_mention
      - message.im
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

[作成] をクリックします。

5f0b3d2c44022eb9.png

Workspace にインストールする:

aa1c2ea1b700c838.png

[#general] チャンネルを選択し、[許可] をクリックします。

18eba659946fc65f.png

[基本情報 / アプリの認証情報] で [Signing Secret] をコピーし、エージェントの Slack 統合の [Signing Token] フィールドの値として設定します。

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

[OAuth と権限] を開き、[Bot User OAuth Token] をコピーして、エージェントの Slack 統合の [アクセス トークン] フィールドの値として設定します。

e74c7e003c31258.png

必須項目を設定し、[開始] をクリックします。

エージェントの [アクセス トークン] の値は、Slack の「Bot User OAUth Token」です。

エージェントの「署名トークン」の値は、Slack の「署名シークレット」です。

8ea9f6856efa62cf.png

7e71e37750fd063a.png

[Webhook URL] をコピーして、Slack アプリの設定に戻ります。

[イベント サブスクリプション] を開き、URL を貼り付けます。

a1e7271934c714d9.png

変更を保存します。

e6d9b43b3787b6e7.png

「Slack」を開き、「@Agent」と入力してエージェントを追加します。

たとえば、アプリの名前を「@CX」に追加します。

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

エージェントに JIRA プロジェクトの概要を尋ねます。

6edfdb74760548ad.png

これで、エージェントが Slack ワークスペースに正常に統合されました。

703a3bf5754680fa.png

9. PDF ドキュメントに関する Q&A

このセクションでは、PDF ドキュメントを使用してデータストアを作成し、エージェントにリンクして、ドキュメントの内容に基づく Q&A 機能を有効にする方法について説明します。

Cloud Storage バケットを作成する

Cloud Shell を開く: https://shell.cloud.google.com/

GCP プロジェクトの末尾の 5 桁を使用してバケット名を設定します。例: pdf-docs-3dw21

BUCKET_NAME=pdf-docs-LAST-5-DIGITS-OF-YOUR-PROJECT

バケットを作成して PDF ドキュメントをアップロードします。

gcloud storage buckets create gs://$BUCKET_NAME \
   
--location=us \
   
--default-storage-class=STANDARD \
   
--no-public-access-prevention \
   
--uniform-bucket-level-access

wget https
://services.google.com/fh/files/misc/exec_guide_gen_ai.pdf

gsutil cp exec_guide_gen_ai
.pdf gs://$BUCKET_NAME

データストアの構成

エージェント コンソールに戻り、[Agent] を開き、下にスクロールして [+ Data store] をクリックします。

9a5e4d6d1e040b86.png

次の値を使用します。

ツール名: pdf-docs

タイプ: Data store

説明: pdf-docs

[Save] をクリックします。

60096b1c597347fa.png

ページ下部の [Add data stores] をクリックします。[Create new data store] をクリックします。

abb9e513ac905e75.png

データソースとして [Cloud Storage] を選択します。

選択: Unstructured documents

GCS バケットまたはフォルダを選択します。

42dec238c1d0ac2f.png

データストアのロケーションに「us」を選択します。

データストア名には「pdf-docs」と入力します。

プルダウンから [Digital parser] を選択します。

高度なチャンクを有効にします。

チャンクで上位の見出しを有効にします。

[Create] をクリックしてください。

1a5222b86ee6c58e.png

3119b5fec43c9294.png

データストアをクリックして、ドキュメント、アクティビティ、処理構成を確認します。

872d9142615e90c9.png

インポートが完了するまでに 5 ~ 10 分ほどかかります。

d9739a4af2244e03.png

解析とチャンキングのオプション

コンテンツの解析は、次の方法で制御できます。

  • デジタル パーサー。別のパーサータイプが指定されていない限り、すべてのファイル形式でデジタル パーサーがデフォルトでオンになります。データストアに他のデフォルト パーサーが指定されていない場合、または指定されたパーサーが取り込まれたドキュメントのファイル形式をサポートしていない場合、デジタル パーサーは取り込まれたドキュメントを処理します。
  • PDF の OCR 解析。公開プレビュー版。スキャンした PDF や画像内にテキストを含む PDF をアップロードする場合は、OCR パーサーをオンにして PDF のインデックス登録を改善できます。PDF の OCR 解析についてをご覧ください。
  • レイアウト パーサー。RAG に Vertex AI Search を使用する場合は、HTML、PDF、DOCX ファイルのレイアウト パーサーをオンにします。このパーサーおよびそれを有効にする方法については、RAG 用にドキュメントをチャンクするをご覧ください。

ドキュメントの解析とチャンキングの詳細。

ツール構成

エージェント ツールの設定画面に戻り、利用可能なデータストアを更新します。

作成したデータストアを選択し、[Confirm] をクリックします。

2922f7d9bdb7b2bc.png

接地を構成します。

会社名として「Google Cloud」と入力します。

ペイロードの設定 - [Include snippets in Conversational Messenger response payload"] をオンにして、値を 5 に設定します。

[保存] をクリックします。

484e99caa7d1bc07.png

エージェントの手順の構成

エージェントの構成に戻ります。

新しい手順を追加します。

- Provide detailed answer to users questions about the exec guide to gen ai using information in the ${TOOL:pdf-docs}

f6d27e58b68f9f7.png

構成を保存します。

PDF-Docs ツールのサンプルを作成する

[例] タブに切り替えます。新しい例を作成します。Guide to generative AI

アクション「+」を使用する:

ee4f85ba3f47fda0.png

[ユーザー入力] を追加します。

What are the main capabilities for generative AI?

「ツールの使用」を追加しました。

  • ツールとアクション: 「pdf-docs

入力(requestBody)

{
 
"query": "Main capabilities for generative AI",
 
"filter": "",
 
"userMetadata": {},
 
"fallback": ""
}

ツールの出力:

{
 
"answer": "Detailed answer about main capabilities for generative AI",
 
"snippets": [
   
{
     
"uri": "https://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf",
     
"text": "Detailed answer about main capabilities",
     
"title": "exec_guide_gen_ai"
   
}
 
]
}

「エージェントの回答」を追加

Detailed answer about main capabilities. 

https
://storage.cloud.google.com/pdf-docs-49ca4/exec_guide_gen_ai.pdf

構成例:

d1da4c1d18709ea6.png

ツール呼び出しの構成:

a0d47a9dc04bb2f1.png

シミュレータに切り替えて設定をテストします。

質問:

What are the 10 steps in the exec guide?

e682480a959125bc.png

[呼び出し] プルダウンから [Agent] を選択し、[Save as example] をクリックします。

582759df60b9a342.png

名前を「user-question-flow」にします。

概要を「Agent helped user answer question based on the pdf document」に設定し、[保存] をクリックします。

エージェントの回答をフォーマットし、ツールの出力セクションから PDF ドキュメントへのリンクを含めます。

6ba5011ed26793f3.png

サンプルを保存します。

シミュレーションに戻り、[Replay conversation] をクリックして、更新されたレスポンス形式を確認します。サンプルを保存した後にエラーが表示された場合は、ブラウザ ウィンドウを更新し、プロンプトを再度送信して会話を再開する必要があります。

What are the 10 steps in the exec guide?

51698c5f1fbd2770.png

別の質問を投稿:

What are the main capabilities in the exec guide?

7b636f489c05a13.png

ソースの PDF ドキュメント。

5b3e6d2ceda99247.png

質問:

What should I consider when evaluating projects?

1155edfbffcd14b2.png

ソースの PDF ドキュメント。

57a0d331aa91f04b.png

質問:

What are the priority use cases in Retail and CPG in the exec guide?

92264121fc8f06e.png

ソースの PDF ドキュメント。

b4d07e6e7d9adc00.png

これで、エージェントは、PDF ドキュメントに基づいてグラウンディングされた回答を提供できるようになりました。

e11d020a9cfa36d1.png

10. Prebuilt Agent

次に、左側のメニューからビルド済みエージェントについて説明します。

de49672bbb8112fd.png

いずれかのエージェントを選択してデプロイします。エージェントの設定、手順、ツールを確認する。

1e00ed8ef4887efb.png

11. お疲れさまでした

お疲れさまでした。ラボはこれで完了です。

学習した内容

  • 会話型エージェントを作成してデプロイする方法
  • Cloud Run アプリケーションをベースとするエージェント用にツールを追加する方法
  • エージェントを Slack ワークスペースに統合する方法
  • PDF ドキュメントを介した Q&A 用のデータストアを構成する方法

次のステップ:

クリーンアップ

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

プロジェクトの削除

課金を停止する最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

©2024 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。