使用 API 呼叫的文件和動作問答 GenAI Agent

使用 API 呼叫的文件和動作問答 GenAI Agent

程式碼研究室簡介

subject上次更新時間:3月 18, 2025
account_circle作者:Andrey Shakirov

1. 總覽

在本研究室中,您將建立 GenAI Agent、將其連結至 Cloud Run 應用程式,並將這個服務整合至 Slack 工作區。

8541c95a7fbc9be7.png

學習目標

本研究室包含幾個主要部分:

  • 部署 Cloud Run 應用程式,以便整合 Gemini API
  • 建立及部署對話式代理程式
  • 將 Agent 整合至 Slack
  • 設定 PDF 文件問答資料儲存庫

必要條件

  • 本實驗室假設您已熟悉 Cloud 控制台和 Cloud Shell 環境。

2. 設定和需求

Cloud 專案設定

  1. 登入 Google Cloud 控制台,然後建立新專案或重複使用現有專案。如果您還沒有 Gmail 或 Google Workspace 帳戶,請務必建立帳戶

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 「Project name」是這個專案參與者的顯示名稱。這是 Google API 不會使用的字元字串。您隨時可以更新。
  • 專案 ID 在所有 Google Cloud 專案中都是不重複的值,且無法變更 (設定後即無法變更)。Cloud 控制台會自動產生專屬字串,您通常不需要特別留意。在大多數程式碼研究室中,您都需要參照專案 ID (通常會以 PROJECT_ID 表示)。如果您不喜歡系統產生的 ID,可以隨機產生另一個 ID。或者,您也可以自行嘗試,看看是否可用。在這個步驟完成後就無法變更,且會在專案期間維持不變。
  • 提醒您,有些 API 會使用第三個值「專案編號」。如要進一步瞭解這三個值,請參閱說明文件
  1. 接下來,您需要在 Cloud 控制台中啟用帳單功能,才能使用 Cloud 資源/API。執行這個程式碼研究室不會產生太多費用,甚至可能完全不產生費用。如要關閉資源,避免在本教學課程結束後繼續產生費用,您可以刪除建立的資源或專案。Google Cloud 新使用者可享有 $300 美元的免費試用期

環境設定

開啟 Gemini 對話。

e1e9ad314691368a.png

啟用 Gemini for Google Cloud API:

990a0ceea7d05531.png

按一下「Start chatting」,然後按照其中一個範例問題操作,或自行輸入提示,即可試用這項功能。

ed120d672468b412.png

建議提示:

  • 以 5 個重點說明 Cloud Run。
  • 您是 Google Cloud Run 產品經理,向學生解釋 Cloud Run 的 5 大重點。
  • 您是 Google Cloud Run 產品經理,向 Kubernetes 認證開發人員解釋 Cloud Run 的 5 大重點。
  • 您是 Google Cloud Run 產品經理,請向資深開發人員說明在哪些情況下應使用 Cloud Run 而非 GKE,並以 5 個重點說明。

詳情請參閱提示指南,進一步瞭解如何撰寫優質提示。

Gemini for Google Cloud 如何使用您的資料

Google 的隱私權承諾

Google 是第一間發表 AI/機器學習隱私權承諾的公司,該文中也提到我們的信念:除了極致的安全性之外,客戶也應該對儲存在雲端的自家資料保有最大的掌控權。

您提交及接收的資料

您向 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

在已開啟的終端機中執行下列指令

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'
export KEY_FILE_NAME='vertex-client-key'

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"

如果系統要求您授權,請點選「授權」繼續操作。

6356559df3eccdda.png

啟用必要服務,以便使用 Vertex AI API 和 Gemini 聊天。

gcloud services enable \
    generativelanguage
.googleapis.com \
    aiplatform
.googleapis.com \
    cloudaicompanion
.googleapis.com \
    run
.googleapis.com \
    cloudresourcemanager
.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 中建立及儲存多個密鑰。

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 或設定 Buildpacks 或 Cloud Build。也就是說,上述單一指令可執行原本需要 gcloud builds submitgcloud run deploy 指令才能執行的動作。

如果您已提供 Dockerfile(我們在這個存放區中已提供),Cloud Build 就會使用該檔案建構容器映像檔,而不會依賴 Buildpack 自動偵測及建構容器映像檔。如要進一步瞭解 Buildpack,請參閱說明文件

控制台中查看 Cloud Build 記錄。

Artifact Registry 中查看已建立的 Docker 映像檔。

Cloud Console 中查看 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

回應會以 Markdown 格式提供。以預覽模式顯示,方便閱讀。

bda86deaa1c449a8.png

7. Vertex AI Agent Builder

搜尋並開啟「Agent Builder」。

d189f2069d7bc7f6.png

啟用 API:

4bf2b240bd51db8.png

建立對話型代理應用程式:

9ee179dbcca38234.png

啟用 Dialogflow API:

75f2fd509c16ab88.png

選取專案:

bf6d60bebab949fe.png

按一下「建立虛擬服務專員」:

42332fe32af5a74e.png

選取「自行建構」。

583c747540ce3217.png

在「顯示名稱」欄位輸入「Agent」,然後按一下「建立」。

e0056adc2f8af87.png

設定應對手冊名稱:

Agent

設定目標:

Help user 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.

按一下「儲存」:

bb2569de77cd1f06.png

使用右側的模擬工具聊天功能測試服務機器人:

7477cf320aaec22.png

66a7569835ebc7e7.png

將滑鼠游標懸停在左側的扳手圖示上。開啟「工具」選單並建立新的工具:

ff635e2d135ea6d8.png

從「類型」下拉式選單中選取 OpenAPI

設定工具名稱:

jira-project-status

設定說明:

Provides JIRA project status

設定結構定義 (YAML) - 請將「YOUR CLOUD RUN URL」替換為您的 Cloud Run 網址。切換分頁,並檢查控制台輸出的 Cloud Run 服務網址。

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

選取左選單中的「Playbook」,即可返回 Agent 設定,並更新使用這項工具的操作說明:

新增操作說明,然後按一下「儲存」:

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

4dabf135b37b044b.png

切換至「示例」分頁並新增示例:

a74004679865ab6e.png

設定顯示名稱:

jira-project-flow

使用底部的選單,模擬使用者和服務專員之間的對話:

範例流程:

服務專員回覆:專案 ID 是什麼?

使用者輸入內容:TEST-PROJECT-100

工具用途:jira-project-status

服務專員回應:專案狀態詳細資料。

6d54f90f1dc630fc.png

請參考下方資源建立範例。

c80eef4210256e5a.png

5affaee4cd54616e.png

按一下「儲存」,返回 Agent 模擬器並測試流程。重設所有現有對話。

f96e7f711561e559.png

85d0e12acf682357.png

恭喜!您已成功整合與在 Cloud Run 上部署的 API 相關聯的工具,讓服務機器人執行動作。

695f18b4e5f81de8.png

查看 Vertex AI Agents 的最佳做法

查看可用的服務專員設定

  • 記錄設定 - 啟用 Cloud Logging
  • Git 整合:Git 整合可讓您從 Git 存放區推送及提取代理程式。
  • 生成式模型選取
  • 符號限制(輸入和輸出)

f914db1d8a5d5447.png

查看 Agent 模擬器控制項:

d1c4712603d4a8a2.png

8. Slack 整合

開啟「整合」選單,然後按一下 Slack 資訊方塊上的「連結」。

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

安裝至工作區:

aa1c2ea1b700c838.png

選取「#general」頻道,然後按一下「允許」

18eba659946fc65f.png

在「基本資訊 / 應用程式憑證」下方,複製「簽署密鑰」,並在 Agent 的 Slack 整合中將其設為「簽署權杖」欄位的值。

31d62babb57e523d.png

bd9f7e3be3b9ea4e.png

開啟「OAuth 和權限」,複製「Bot User OAuth 權杖」,然後在 Agent 的 Slack 整合中將其設為「存取權杖」欄位的值。

e74c7e003c31258.png

設定必要欄位,然後按一下「開始」。

代理人的「存取權杖」值為 Slack 的「機器人使用者 OAuth 權杖」。

代理人的「Signing Token」值為 Slack 的「Signing Secret」。

8ea9f6856efa62cf.png

7e71e37750fd063a.png

複製「Webhook 網址」並返回 Slack 應用程式設定。

開啟「事件訂閱」部分,然後貼上網址。

a1e7271934c714d9.png

儲存變更。

e6d9b43b3787b6e7.png

開啟「Slack」,然後輸入「@Agent」新增服務專員。

例如新增名稱為「@CX」的應用程式。

72313066707f947b.png

63becbd80824f8d8.png

c98e193062b096f0.png

請服務專員提供 JIRA 專案摘要。

6edfdb74760548ad.png

恭喜!服務機器人已成功整合至 Slack 工作區。

e1a792e199d697c7.png

9. 針對 PDF 文件進行問答

本節將概略說明如何使用 PDF 文件建立資料儲存庫,並將其連結至服務專員,以便根據文件內容啟用問答功能。

建立 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 光學字元辨識剖析」。
  • 版面配置剖析器。如果您打算將 Vertex AI Search 用於 RAG,請為 HTML、PDF 或 DOCX 檔案啟用版面配置剖析器。如要瞭解這個剖析器的相關資訊,以及如何啟用剖析器,請參閱「RAG 的區塊文件」。

進一步瞭解如何剖析文件及進行分塊。

工具設定

返回「Agent's Tool」設定畫面,並重新整理可用的資料儲存庫。

選取剛建立的資料儲存庫,然後按一下「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

恭喜!Agent 現可根據 PDF 文件提供有依據的答案。

197cf1ae70663fae.png

10. 預先建構的代理程式

接下來,您將從左側選單中探索預先建構的代理程式。

de49672bbb8112fd.png

選取其中一個代理程式並部署。探索 Google 服務中心的設定、操作說明和工具。

c2f1808c30d4c17b.png

11. 恭喜!

恭喜,您已完成實驗室!

涵蓋的內容:

  • 如何建立及部署對話式代理
  • 如何為 Cloud Run 應用程式所支援的代理人新增工具
  • 如何將 Bot 整合至 Slack 工作區
  • 如何設定 PDF 文件問答資料儲存庫

下一步:

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取本教學課程所用資源的費用,請刪除含有相關資源的專案,或者保留專案但刪除個別資源。

刪除專案

如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的專案。

© 2024 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。