正在加载…
未找到任何结果。

在 Google Cloud 控制台中运用您的技能

借助 Agentspace 加速知识交流

访问 700 多个实验和课程

使用对话代理扩展 Agentspace 助理的功能

实验 1 小时 30 分钟 universal_currency_alt 5 个积分 show_chart 高级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

概览

在本实验中,您将增强 Agentspace 助理的功能,使其能够处理员工的差旅请求。该助理将与处理这些请求的对话代理进行通信。为此,您需要集成一个 OpenAPI 工具,使对话代理能够与 Cloud Run 函数进行交互。然后,该函数会将差旅请求直接写入 BigQuery 以进行存储和进一步处理。下图显示了您将实现的流程:

注意:对于大多数 Qwiklabs 实验,建议使用无痕式浏览器窗口,以避免因存在多个 Qwiklabs 账号(学员账号和其他账号)而出现账号混淆。这对于像本实验这样需使用“对话代理”控制台的 Qwiklabs 实验尤其有用。如果您使用的是 Chrome,最简单的实现方法是关闭所有无痕式窗口,然后右键点击本实验顶部的打开 Google Cloud 控制台按钮,并选择在无痕式窗口中打开链接

目标

在本实验中,您将学习如何完成以下操作:

  • 部署 Cloud Run 函数。
  • 创建一个可支持对话代理调用您的 Cloud Run 函数的 OpenAPI 工具。
  • 部署 Agentspace 应用。
  • 创建一个简单的使用 Playbook 的生成式对话代理。
  • 将创建的对话代理集成到您的 Agentspace 应用中。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验会以定时的方式进行,且您无法暂停实验。定时器(点击“开始实验”即可启动)会显示云资源可供您使用的时间。

Qwiklabs 实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud Platform。

要求

要完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
  • 为完成实验留出时间。

注意:如果您已拥有个人 GCP 帐号或项目,请不要使用其进行此实验。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。

任务 1. 创建可用于记录差旅请求的 BigQuery 表

在此任务中,您将创建一个用于存储传入的差旅请求的表,这些请求会发送给 Agentspace 助理。

  1. 按下键盘上的 G 键,然后按下 S 键,打开 Cloud Shell 终端。

  2. 在 Cloud Shell 终端中,粘贴以下代码来创建 travel_requests_schema.json 文件,为用于记录差旅请求的 BigQuery 表定义架构:

    cat > travel_requests_schema.json << EOF [ { "name": "user", "type": "STRING", "mode": "REQUIRED" }, { "name": "travel_purpose", "type": "STRING", "mode": "REQUIRED" }, { "name": "departure_city", "type": "STRING", "mode": "NULLABLE" }, { "name": "destination_city", "type": "STRING", "mode": "NULLABLE" }, { "name": "departure_date", "type": "STRING", "mode": "NULLABLE" }, { "name": "return_date", "type": "STRING", "mode": "NULLABLE" } ] EOF
  3. 在 Cloud Shell 中运行以下命令,以使用 travel_requests_schema.json 文件中定义的架构创建 BigQuery 数据集“”和表“”:

    bq --location=US mk -d {{{project_0.startup_script.bq_dataset | Bigquery Dataset}}} bq mk -t {{{project_0.startup_script.bq_dataset | Bigquery Dataset}}}.{{{project_0.startup_script.bq_table | Bigquery Table}}} travel_requests_schema.json
  4. 在系统提示您对 Cloud Shell 进行授权时,点击授权按钮。

  5. 成功创建数据集和表后,便可点击终端面板右上角的 X 来关闭 Cloud Shell 面板。

点击检查我的进度以验证是否完成了以下目标: 创建可用于记录差旅请求的 BigQuery 数据集和表

任务 2. 创建 Cloud Run 函数来记录请求

在此任务中,您将创建一个 Cloud Run 函数,用于接收以 JSON 格式发送的请求,然后将其写入您在上一步创建的表中。

  1. 通过 Cloud 控制台顶部的搜索栏找到 Cloud Run 并前往该页面。

  2. 从 Cloud Run 控制台顶部的选项中,选择编写函数

  3. 配置标题下,输入 record-travel-request 作为服务名称

  4. 区域设置为“”。

  5. 端点网址标题下,复制所提供的网址并将其粘贴到一个文本文档中。您稍后将需要访问该网址。

  6. 运行时设置为 Python 3.12

  7. 身份验证标题下,选择需要进行身份验证

  8. 保留其他设置的默认值,然后选择创建。系统将加载函数的来源标签页。

  9. 函数入口点重命名为 record_travel_request

  10. 点击左侧的 requirements.txt 文件,删除其中的内容,然后粘贴以下内容:

    functions-framework==3.* google-cloud-bigquery
  11. 点击左侧的 main.py 文件,删除其中的内容,然后粘贴以下代码。此函数将接收以 JSON 格式提供给 POST 请求的差旅请求详情,并将这些值写入您之前创建的 BigQuery 表中的新行:

    import functions_framework from google.cloud import bigquery @functions_framework.http def record_travel_request(request): """Writes travel requests to BigQuery. Args: request (flask.Request): A request object with JSON containing fields for user, travel_purpose, departure_city, destination_city, departure_date, and return_date. Returns: JSON response containing a 'message' field indicating the status of the request. """ request_json = request.get_json(silent=True) request_args = request.args print("JSON:" + str(request_json)) print("args:" + str(request_args)) bq_client = bigquery.Client() table_id = "{{{project_0.startup_script.project_id | Project_ID}}}.{{{project_0.startup_script.bq_dataset | Bigquery_Dataset}}}.{{{project_0.startup_script.bq_table | Bigquery_Table}}}" row_to_insert = [ {"user": request_json["user"], "travel_purpose": request_json["travel_purpose"], "departure_city": request_json.get("departure_city",""), "destination_city": request_json.get("destination_city",""), "departure_date": request_json.get("departure_date",""), "return_date": request_json.get("return_date",""), }, ] errors = bq_client.insert_rows_json(table_id, row_to_insert) # Make an API request. if errors == []: return {"message": "New row has been added."} else: return {"message": "Encountered errors while inserting rows: {}".format(errors)}
  12. 点击保存并重新部署

  13. 等待部署修订版本活动全部显示已完成状态消息。

  14. 点击 Cloud Run 控制台顶部的测试

  15. 将以下值粘贴到配置触发事件测试输入字段:

    { "user": "Ursula Matthews", "travel_purpose": "farm inspection", "departure_city": "Santiago", "destination_city": "Doha", "departure_date": "2025-09-08", "return_date": "2025-09-16" }
  16. 在测试窗格底部,点击在 Cloud Shell 中测试

  17. 系统将打开 Cloud Shell 终端窗口,并为您准备好 curl 命令,以便您调用函数。选择该终端窗口,然后按键盘上的 Enter回车键发送该命令。

  18. 您应该会看到表示已成功执行命令的响应,内容如下所示:

  19. 按 Cloud Shell 面板右上角的 X 来关闭 Cloud Shell 终端。

  20. 打开新的浏览器标签页(如果您使用的是 Chrome,请右键点击当前浏览器标签页并选择“复制”以复制该页面)。在新标签页中,前往 BigQuery

  21. 在 BigQuery 探索器窗格中,选择您的项目 ID“”。

  22. 选择“”数据集。

  23. 选择“”表。

  24. 选择预览标签页,查看已记录的差旅请求。请将此标签页保持打开状态,以便在完成本实验中的其他部分时返回该页面查看是否有新行。

    点击检查我的进度以验证是否完成了以下目标: 创建 Cloud Run 函数来记录请求

任务 3. 创建一个可调用 Cloud Run 函数的对话代理工具

在此任务中,您将在“对话代理”控制台中创建一个可调用 Cloud Run 函数的工具。您的对话代理将能够使用此工具记录差旅请求。

  1. 在 Google Cloud 控制台顶部,搜索 Dialogflow API 并将其选中。

  2. 点击启用

  3. 在控制台顶部搜索 AI Applications,并前往该页面。

  4. 点击继续并激活 API

  1. 在应用类型部分,找到对话代理卡片,然后选择创建。这将在新标签页中打开对话代理控制台。

  2. 开始使用对话代理窗格中,选择自行构建

  3. 在代理的显示名称部分,使用 Corporate Travel Bot

  4. 位置设置为全球

  5. 对于对话发起选项,保留默认设置 Playbook

  6. 点击创建

  7. 对话代理 Playbook 创建完成后,关闭所有说明性弹窗,然后选择界面右上角的设置按钮。

  8. 前往常规 > 日志记录设置

  9. 勾选启用 Cloud Logging启用对话历史记录复选框,为您的代理启用 Cloud Logging 和对话历史记录功能。

  10. 点击“设置”窗格顶部的保存按钮,以保存所做更改。

  11. 您将进入 Playbook 起始页。关闭所有说明性弹窗。在创建 Playbook 之前,您需要先创建一个可供 Playbook 调用您所创建的 Cloud Run 函数的工具。从左侧导航菜单中选择工具

  12. 点击 + 创建

  13. 工具名称部分,输入 Record Travel Request

  14. 对于类型选项,保留默认设置 OpenAPI

  15. 说明部分,输入 Used to record a travel request

  16. 对于架构选项,保留默认类型 YAML,并将以下内容粘贴到文本框中。此 OpenAPI 规范描述了包含以下内容的 API:

    • 一个已设置为您的 Cloud Functions 网域的服务器网址

    • 一个名为 / 的路径,该路径用于接受包含 TravelRequest 架构中的 JSON 内容的 POST 请求

    • 该 TravelRequest 架构的定义,其中包含您在本实验开始时在 BigQuery 架构中定义的字段:

      openapi: 3.0.0 info: title: Travel Requests API version: 1.0.0 servers: - url: 'YOUR_CLOUD_RUN_FUNCTION_URL' paths: /: post: summary: Record a new travel request operationId: recordTravelRequest requestBody: description: Travel request to add required: true content: application/json: schema: $ref: '#/components/schemas/TravelRequest' responses: '200': description: Success content: application/json: schema: type: object properties: message: type: string example: "Favorite flavor recorded successfully!" components: schemas: TravelRequest: type: object required: - user - travel_purpose properties: user: type: string travel_purpose: type: string departure_city: type: string destination_city: type: string departure_date: type: string return_date: type: string
  17. 将上方规范中的 YOUR_CLOUD_RUN_FUNCTION_URL 替换为您之前复制的 Cloud Run 函数网址。

  18. 点击“工具”窗格顶部的保存

  19. 若要允许工具调用 Cloud Run 函数,请切换到显示 Cloud 控制台(而非“对话代理”控制台)的浏览器标签页,然后使用控制台顶部的搜索栏找到 IAM 并前往该页面。

  20. 勾选包括 Google 提供的角色授权复选框。

  21. 找到 Dialogflow Service Agent 对应的行,然后点击该行上的铅笔图标进行修改。

  22. 点击 + 添加其他角色

  23. 选择角色字段中,输入 Cloud Run Invoker

  24. 点击保存

    点击检查我的进度以验证是否完成了以下目标: 创建一个可调用 Cloud Run 函数的对话代理工具

任务 4. 创建对话代理 Playbook

在此任务中,您将创建可接收自然语言形式的请求的对话代理,并使用工具通过 Cloud Run 函数将这些请求写入 BigQuery 表中。

  1. 在显示“对话代理”控制台的浏览器标签页中,使用左侧导航菜单选择 Playbook

  2. 选择已创建的默认生成式 Playbook

  3. Playbook 名称更改为 Confirm Travel Data

  4. 目标部分,输入 Help users book travel

  5. 指令部分,将以下内容粘贴到文本字段中:

    - Ask the user to provide for user name, travel purpose, departure city, destination city, and a range of dates. Assume a year of 2025 for dates without a year: - Use ${TOOL:Record Travel Request} - Let the user know that they should receive a list of flights to choose from in their email within 24 hours.
  6. 这些 Playbook 指令专为 Agentspace 而设计,因为它仅包含一轮对话,但会在此轮对话中执行多项操作(调用相关工具并生成回答)。稍后,您将让该 Agentspace 代理负责在调用此 Playbook 之前收集相关信息。

  7. 点击“Playbook”窗格顶部的保存

  8. 在“对话代理”控制台右上角,点击切换模拟器聊天按钮 () 以预览对话代理。

  9. 在该面板底部的输入文字输入框中,输入 can you help me book a flight?

  10. 提供姓名、差旅目的、出发城市、目的地城市和日期范围(例如,Joe Smith. Customer Presentation. Berlin to Valencia. Feb 21 to 28.),观察代理的表现。

  11. 您应该会看到一张卡片,上面的内容表明已使用 Record Travel Request 工具,您可以点击该卡片来查看该工具的输入和回答:

    注意:如果输出结果不是 200,请更改模型,并通过重置对话 () 来重新启动聊天。
  12. 您的聊天应该以类似以下内容的表述结束:

    点击检查我的进度以验证是否完成了以下目标: 创建对话代理 Playbook

任务 5. 创建 BigQuery 数据存储区

在此任务中,您将部署 Agentspace 应用。为此,您需要创建一个数据存储区。我们将设置一个 BigQuery 数据存储区,以便您查询和访问之前记录的差旅请求。

  1. 切换回显示 Google Cloud 控制台的浏览器标签页,在控制台顶部搜索 AI Applications,并前往该页面。

  2. 从左侧导航窗格中选择数据存储区

  3. 点击 + 创建数据存储区

  4. 搜索 BigQuery 以找到 BigQuery 卡片,然后点击卡片上的选择

  5. 对于数据种类选项,保留默认设置结构化 - 采用您自己的架构的 BigQuery 表

  6. BigQuery 路径部分,选择浏览

  7. 搜索数据集“”。

  8. 选择您的表“”。

  9. 点击选择

  10. 点击继续

  11. 您可以保留原有架构,然后点击继续

  12. 在名称部分,输入 Travel Requests

  13. 点击创建

    点击检查我的进度以验证是否完成了以下目标: 创建 BigQuery 数据存储区

任务 6. 创建 Agentspace 应用

在此任务中,您将创建一个新的 Agentspace 应用,将 Google 作为身份提供方与其集成,并将其关联到一个数据存储区。

  1. 前往 AI Applications > 应用 > + 创建应用

  2. 找到 Agentspace 卡片,然后点击创建以创建 Agentspace 应用。

  3. 应用名称部分,输入“”。

  4. 公司名称部分,输入“”。

  5. 对于位置选项,保留默认设置全球

  6. 选择层级下,选择搜索 + 助理

  7. 点击继续

  8. 身份提供方部分,点击 Google 身份提供方卡片上的选择

  9. 数据窗格中,选择您之前创建的 Travel Requests 数据存储区。

  10. 点击创建

点击检查我的进度以验证是否完成了以下目标: 创建 Agentspace 应用

任务 7. 将对话代理与 Agentspace 应用集成

在此任务中,您将授权 Agentspace 助理向您的对话代理发送消息并接收其提供的回答。

  1. 前往 AI Applications > 应用,然后选择“”应用。

  2. 在左侧导航栏中,选择配置

  3. 选择助理标签页。

  4. 代理标题下,选择添加内容。系统会显示一个卡片,供您连接新代理

  5. 选择显示对话代理控制台的浏览器标签页。

  6. 从控制台顶部的代理下拉菜单中,选择查看所有代理

  7. Corporate Travel Bot 代理的行末,选择选项图标(三个竖点),然后选择复制名称

  8. 返回到 AI Applications标签页,在新建代理卡片中,将复制的值粘贴到代理字段中。

  9. 代理显示名称部分,使用 Corporate Travel Bot

  10. 指令部分,输入以下内容:

    Use for booking travel by providing a user, travel purpose, departure city, destination city, and a date range.
  11. 请注意,这些指令用于指示 Agentspace 助理执行收集所需信息的工作,然后将这些信息传递给对话代理以完成一轮对话。

  12. 点击完成

  13. 点击窗格底部的保存并发布

    点击检查我的进度以验证是否完成了以下目标: 将对话代理与 Agentspace 应用集成

任务 8. 通过 Agentspace 助理与对话代理进行沟通

在此任务中,您的 Agentspace 助理将能够与对话代理通信,而后者将利用其工具来记录差旅请求。

注意:创建 Agentspace 应用最长可能需要 10 分钟的时间。您可以尝试以下步骤,但如果这些步骤未按预期执行,请尝试等待更长时间,以便应用完成创建。
  1. 选择 Agentspace 应用的名称“”。通过左侧导航菜单前往集成标签页。

  2. 指向您 Web 应用的链接标题下,点击打开。如本任务开头所述,如果看到 404 错误,则可能需要等待更长时间,以便应用完成创建。您可以每隔几分钟重新加载一次页面,直到页面显示 Agentspace Web 应用。

  3. 在主搜索栏中输入以下内容:

    Book travel for Alex Cymbal from Singapore to Council Bluffs, Iowa, departing on April 1 and returning on April 14, 2025, for a data center tour.

  4. 您的聊天记录将作为对话保存在 Agentspace Web 应用左侧菜单上的近期记录标题下。

  5. 您的助理应该会提供回答,告知您已记录您的差旅请求,并且您将在 24 小时内收到一封跟进电子邮件。如果助理询问任何其他问题,请使用接着提问字段回复助理。

  6. 在助理的回答内容下方,有一个选项菜单(三个竖点)。请将其展开并选择显示诊断信息

  7. 在显示的诊断信息中,您可以查看回答内容的元数据,其中包括 "functionName": "Corporate_Travel_Bot"。这证明 Agentspace 助理已将对话代理作为函数调用来进行调用,且收到了后者的回答并将其传回给您。

  8. 请注意,在本活动中,您使用了极少的 Playbook 指令,并且未使用对话示例,这意味着此代理还不够强大。如需重新开始对话以再试一次,请点击左上角的新对话按钮。

  9. 如需确认正在记录请求,请返回显示 BigQuery 表“”的浏览器标签页。在预览标签页,点击刷新图标 以查看最新数据。

    点击检查我的进度以验证是否完成了以下目标: 通过 Agentspace 助理与对话代理进行沟通

恭喜!

在本实验中,您学习了如何利用对话代理来扩展 Agentspace 助理的功能。具体而言,您学习了以下内容:

  • 部署 Cloud Run 函数。
  • 创建一个可支持对话代理调用您的 Cloud Run 函数的 OpenAPI 工具。
  • 部署 Agentspace 应用。
  • 创建一个简单的使用 Playbook 的生成式对话代理。
  • 将创建的对话代理集成到您的 Agentspace 应用中。

本手册的最后更新时间:2025 年 3 月 28 日

本实验的最后测试时间:2025 年 3 月 28 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名称和产品名称可能是其各自相关公司的商标。

上一步 下一步

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
预览