Create a new app

检查我的进度

/ 50

Generate the data store prompt

检查我的进度

/ 50

此实验可能会提供 AI 工具来支持您学习。

概览

本实验全面介绍了如何使用 AI Applications 构建对话代理。它将引导您在新的 Conversational Agents 控制台中,采用基于 Playbook 和基于流程的方法来完成代理配置过程。

在本实验中,您将学习以下关键概念:

  • AI Applications 将成为构建对话代理的基础平台。
  • 新的 Conversational Agents 控制台基于 Dialogflow CX 控制台构建,将用于进行大多数代理配置。
  • 对话代理可以基于 Playbook 或流程,也可以基于两者的组合。
  • 数据存储区是在 AI Applications 中创建的数据仓库,经过精心准备,旨在让代理能够给出接地的回答。
  • 生成器是代理与大语言模型之间沟通的桥梁,让代理能够解析用户输入的内容,并借助模型的力量输出对应的内容。

构建内容

在本实验中,您将使用 AI Applications 和 Conversational Agents 来构建、部署和配置一个对话代理,以帮助有献血意愿的人员,并确保他们符合规定的资格要求。在 Conversational Agents 响应的过程中,该代理会使用真实的公开数据和 Google 的生成式大语言模型 (LLM)。

Conversational Agents

Conversational Agents 是一个全新的自然语言理解平台,以能够控制对话的生成模型为基石,并采用了能够更精细控制对话的流程。借助 Conversational Agents,您可以轻松地设计对话式界面,并将其集成到移动应用、Web 应用、设备、聊天机器人、交互式语音响应系统等多种平台中。借助 Conversational Agents,您可以为用户打造耳目一新、引人入胜的产品互动体验。

数据存储区可供数据存储区处理程序和 playbook 数据存储区工具从您的数据中查找最终用户问题的解答。数据存储区是一组网站和文档,每个网站和文档都将作为您的数据来源。

数据存储区设置是用于定义对话代理如何与数据存储区交互的配置。

AI Applications 功能可让您创建由数据存储区提供支持的对话代理。

借助此功能,您只需提供网站网址、结构化数据或非结构化数据(数据存储区),Google 就会解析您的内容,为您构建一个能够运用这些存储区中的数据以及大语言模型的对话代理。然后,客户和最终用户即可与该代理交互,针对所提供的内容提出问题并获得解答。

生成器

生成器是 Conversational Agents 的一项功能,让开发者能够使用 Google 最新的生成式大语言模型 (LLM) 和自定义提示,在运行时生成代理回答。生成器能够根据其训练所用的大型文本数据集中的一般知识,或是结合当前对话的上下文,来生成各种通用回答。

目标

在本实验中,您将学习如何执行以下任务:

  • 使用 Conversational Agents 构建一个应用,并将非结构化数据添加到数据存储区。
  • 使用知识处理程序,让最终用户能够针对添加到数据存储区的内容,与对话代理进行对话。
  • 配置生成器文本提示,并使用内置的生成器提示占位符,使其更贴合上下文。
  • 将字词标记为生成器提示占位符,然后在 fulfillment 中将它们与会话参数相关联,以便在执行期间调用它们的值。
  • 配置生成器,使其能够结合大型文本数据集中的知识以及当前对话的上下文来生成回答。
  • 使用生成器生成正式邮件。
  • 测试代理,模拟客户提问来触发代理生成回答。

设置和要求

在此任务中,您将使用 Qwiklabs 执行实验的初始化步骤。

对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。

  1. 请确保使用无痕式窗口登录 Qwiklabs。

  2. 请留意实验的访问时限(例如 img/time.png)并确保能在相应时间段内完成实验。

  1. 准备就绪后,请点击 img/start_lab.png

  2. 请记下您的实验凭证。您需要使用这些凭证来登录 Google Cloud 控制台。 img/open_google_console.png

  3. 点击打开 Google 控制台

  4. 点击使用其他账号,然后将实验的凭证复制并粘贴到相应提示框中。

  1. 接受条款并跳过恢复资源页面。

Google Cloud 控制台

完成初始登录步骤后,系统会显示项目信息中心。

GCP 项目信息中心

确保已选择您的项目 。如果未选择,请点击控制台顶部的选择项目,突出显示您的 Google Cloud 项目 ID,然后点击打开以选择您的项目。

如果您未使用无痕模式,则需要始终确保选择正确的项目和用户账号,以免 Google Cloud 结算账号意外产生费用。

任务 1. 启用 API

您需要先启用 Dialogflow API,然后才能开始在 AI Applications 中使用 Conversational Agent。本实验应该已启用此 API,但您应先验证这一点,然后再继续操作。

按照以下步骤启用 Dialogflow API

  1. 在浏览器中,前往 Dialogflow API 服务详情页面

  2. 如果该 API 尚未启用,请点击启用按钮,以在您的 Google Cloud 项目中启用 Dialogflow API。

任务 2. 为应用创建新的对话代理和数据存储区

现在,您将为应用创建新的对话代理,并为其配置数据源。您将构建的代理的用途是,帮助客户解答与献血资格有关的问题。您将使用 Australian Red Cross Lifeblood 作为可信来源,并根据献血资格网站中的非结构化数据创建数据存储区。

  1. 如需创建新的对话代理,请打开 Conversational Agents 控制台

  2. Select Project 对话框中,点击 All 标签页。

  3. 点击您的项目 ID

  4. 点击 Create agent

  5. 在“Get started with Conversational Agents”弹出式窗口中,选择 Build your own

  6. 在“Create Agent”页面上,输入 Blood Donation Agent 作为代理的显示名称

  7. 选择 global (Global serving, data-at-rest in US) 作为位置。

  8. 确保选择 Playbook 作为默认 Conversation start 类型,然后点击 Create 按钮。

  1. Default Generative Playbook 页面中,点击 Available tools 下的 + Data store

  2. 点击“Data store”下的 Create data store

  3. 在“create data store”页面上,点击 Cloud Storage (unstructured data),系统即会将您重定向到“AI Applications”页面。

  4. 点击左下角的 Advanced options

  5. 选择 Unstructured documents (PDF, HTML, TXT, and more) 作为专业数据导入选项。

  6. 指定以下包含本实验的示例数据的 Google Cloud Storage 文件夹,并注意不需要 gs:// 前缀:

    cloud-samples-data/dialogflow-cx/arc-lifeblood
  7. 点击 Continue

  8. 指定 Australian Red Cross Lifeblood Unstructured 作为数据存储区名称。点击 Continue

  9. 点击 Create 以创建数据存储区。

    注意:创建数据存储区最多可能需要 1 分钟。
  10. 在数据存储区列表中,选择新创建的数据存储区,其名称为 Australian Red Cross Lifeblood Unstructured

  11. 点击 Activity 标签页,查看数据导入进度。

    注意:一般来说,在系统将您新添加的网域编入索引期间,您的文档可能需要长达 4 小时才能可供代理使用,具体取决于文档数量或网域规模。在本实验中,此过程需要 10-15 分钟。
  12. 创建代理后,返回到 Conversational Agents Tools 控制台并刷新页面。

  13. Tool name 字段中输入 Blood_donation_tool,然后在下拉菜单中选择 Data store 作为工具类型。

  14. Data Stores 下,点击 Add Data Stores,选择 Australian Red Cross Lifeblood Unstructured,然后依次点击 ConfirmSave

    Blood Donation Tool

  15. 前往 Playbook 标签页,然后点击 Default Generative Playbook。在 Available tools 下,选择名为 Blood_donation_tool 的工具,然后点击 Save

    恭喜!您已完成可以帮助潜在献血者的知识赋能型应用的构建,不妨花点时间庆祝一下!

    不过,若要让用户能够访问该代理,您还有更多工作要做。在下一部分中,您将使用知识处理程序来支持代理与最终用户之间有关资格要求的对话。

点击检查我的进度,验证已完成以下目标: 创建新应用

任务 3. 配置代理,使其能够解答献血资格常见问题

提供数据存储区提示

在文档收集过程在后台运行时,我们来编辑数据存储区提示,为代理赋予品牌特质。

  1. 在 Conversational Agents 控制台中,前往代理,点击页面右上角的三点状图标,然后选择 Settings

    代理设置

  2. 前往 Generative AI 标签页。

    “Generative AI”标签页

  3. 点击 General 标签页,然后按如下所示设置过滤条件。

    过滤条件
    Hate Speech Block few
    Dangerous content Block few(default)
    Sexually explicit content Block few
    Harassment Block few

    输出结果

    “General”标签页

  4. 点击 Data store 标签页。

    “Data store”标签页

    按如下方式填写表单,以生成以下数据存储区提示:你的名字是 Donate,你是 Save a life, a fictitious organization 的一个乐于助人且彬彬有礼的 chatbot。你的任务是帮助 humans with eligibility information

    代理上下文

  5. 点击标签页顶部的 Save 按钮。

点击检查我的进度,验证已完成以下目标: 生成数据存储区提示

为“默认初始流”的无匹配事件启用生成式后备

  1. 切换到 Conversational Agents 控制台左上侧边栏中的 Flows 标签页(位于 Playbook 下方),然后打开起始页

  2. 点击 sys.no-match-default 事件处理脚本。除非用于启用生成式后备的复选框已选中,否则请启用该功能,然后点击 Save

    启用生成式后备功能

查看 fulfillment 代理回答

  1. 起始页上,点击 Default Welcome Intent

    修改数据存储区

  2. Fulfillment 下,向下滚动到 Agent Responses。fulfillment 是代理对最终用户的响应。Conversational Agents 已使用以下参数预先填充 Agent dialogueHi! How are you doing?

    来自数据存储区的代理回答

任务 4. 测试代理

等待文档可供代理使用后,再查看回答的质量。如需查看文档是否可用,您可前往 AI Applications 控制台,点击 Blood Donation Agent 应用旁边的 Connected data stores 下的 view 链接,然后点击 Australian Red Cross Lifeblood Unstructured 即可查看。

导入的数据存储区

如果您不在 Conversational Agents 控制台中,则请通过 AI Applications 控制台点击您应用的名称,系统即会将您重定向到 Conversational Agents 控制台。

  1. 在 Conversational Agents 控制台中,前往代理,点击页面右上角的三点状图标,然后选择 Toggle Simulator

    代理模拟器

  2. 对于 Start Resource,请从下拉菜单中选择 Default Generative Playbook

  3. 提出您希望在网站的“常见问题解答”页面中找到的问题。例如:

    • 如何预约?
    • 我需要达到什么年龄才能献血?
    • 我刚从非洲旅行回来。我可以献血吗?
    • 孕妇可以献血吗?

    代理模拟器示例

    注意:如果聊天机器人的回答与问题无关,请将模型切换为 Gemini-2.0-flash-lite-001(预览版)或其他可用模型
  4. 最后,我们尝试向代理提出一个与献血完全无关的问题,看看会发生什么。例如:

    What's the weather like in Melbourne?

    代理应回答类似以下内容:I'm sorry, I can't provide weather information.

    此回答包含 AI 生成的内容,且是根据 Conversational Agents 基于之前提供的知识连接器设置创建的文本提示生成的:“你的名字是 Donate,你是 Save a Life 的一个乐于助人且彬彬有礼的聊天机器人。你的任务是帮助人类获取资格信息。”此文本提示包含公司名称、代理名称,最重要的是包含代理范围,Conversational Agents 依据此项信息生成代理回答。

    太棒了!目前,您正在使用数据存储区来为人们提供与献血相关的常见问题解答。在本实验的下一部分中,我们将了解如何将生成器文本提示与相同内容相关联,以便做出明智的决策。

任务 5. 为资格测验设置代理

我们的下一项任务是设计代理,以确定用户是否符合献血资格要求。献血者必须满足严格的要求,例如年龄、体重、现有健康状况、近期旅行史等。在本实验中,我们仅考虑年龄和体重。生成器将使用 Google 的大语言模型 (LLM),根据对话的上下文和知识库动态做出明智的决策。

配置新路由和参数

  1. 切换到 Conversational Agents 控制台左上侧边栏中的 Flows 标签页(位于 Playbook 下方),打开起始页,然后点击 Default Welcome Intent

  2. 向下滚动到 Fulfillment 部分,移除 Agent dialogue 字段中的当前代理回答,并插入以下回答:

    Would you like to take the eligibility quiz to find out if you can donate blood, and start changing lives?

    代理的回答 - 数据存储区输出

  3. 向下滚动到 Transition 字段,然后依次选择 Page > + new page,将网页名称设置为 User Blood Donation Decision,并点击 Save 按钮。

  4. 前往 Manage 标签页,以创建具有以下配置的两个意图,然后点击 + Create

    显示名称 属性
    confirmation.yes 训练短语:“Yes”“yeah”“yes please”
    confirmation.no 训练短语:“No”
  5. 前往 Build 标签页,然后点击 User Blood Donation Decision 页面。

    • 如需创建路由,请点击 Routes 旁边的 + 图标。

    • Intent 字段中,从下拉菜单中选择 confirmation.yes

    • 向下滚动到 Transition 字段,然后依次选择 Page > + new page,将网页名称设置为 Eligibility Quiz,并点击 Save 按钮。
    • 点击 Routes 旁边的 + 图标。

    • Intent 字段中,从下拉菜单中选择 confirmation.no。然后,向下滚动到 Fulfillment > Agent responses 部分,点击 + Add dialogue response,选择 agent dialogue,插入回答 Thanks, Have a nice day!,然后点击 Save

创建和配置资格要求生成器

生成器功能是一项 Conversational Agents 功能,可让开发者在 Conversational Agents 响应的过程中使用 Google 最新的生成式大语言模型 (LLM)。生成器用于在运行时生成代理回答。生成器能够根据其训练所用的大型文本数据集中的一般知识,或是结合当前对话的上下文,来生成各种通用回答。

我们将创建一个新的生成器,用于将用户提供的信息(例如年龄和体重)与资格要求进行比较,以确定用户是否可以献血。

  1. 在 Conversational Agents 控制台中,前往 Manage 标签页,选择 Generators,然后点击 Create new

    生成器

  2. 接下来,提供 Blood Donation Eligibility 作为显示名称,并撰写以下文本提示。

    Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. Weight should be above 50 Kg. The user age and weight is $last-user-utterance. Be nice and tell the user if they are eligible to donate (also tell them why not in case)
  3. 保留默认的模型质量控制设置。然后点击 Save 以创建生成器。

    在响应过程中,文本提示会在运行时发送到生成模型。提示应是清晰的问题或请求,以便模型生成令人满意的回答。您可以在文本提示中使用特殊的内置生成器提示占位符:

    • $conversation:代理与用户之间的对话,不包括用户的最后一句话。
    • $last-user-utterance:用户的最后一句话。

    您配置的文本提示要求用户在一个对话轮次中(即用户的最后一句话)同时提供年龄和体重。

在 fulfillment 中使用生成器并配置所有必需的参数

  1. 接下来,前往 Build 标签页,然后点击 Eligibility Quiz 页面。

    • 如需添加参数,请点击 Parameters 旁边的 + 图标。

    • 输入 age-weight 作为显示名称。

    • 选择 @sys.any 作为实体类型。

    • 向下滚动到 Initial Prompt Fulfillment > Agent responses,在 Agent dialogue 字段中添加提示 What is your age and weight?,然后点击 Save

  2. Eligibility Quiz 页面上,点击 Routes 旁边的 + 图标。

    • Condition rules 下选择 Match AT LEAST ONE rule (OR) 选项,然后输入条件要求 $page.params.status = "FINAL"

    配置条件

    • 向下滚动到 Fulfillment > Generators,点击 Add Generator,并选择 Blood Donation Eligibility 作为生成器。然后,将 Output Parameter 字段中的值替换为 $request.generative.eligibility-outcome,该参数将在生成器执行后包含其结果。

    生成器关联

    • Fulfillment > Agent responses > Agent dialogue 字段中,添加 $request.generative.eligibility-outcome 作为值,然后点击 Save

任务 6. 重新测试代理

  1. 点击页面右上角的三点状图标,然后选择 Toggle Simulator

    代理模拟器

  2. 点击 Reset conversation 图标,直到显示 Preview: Default Start Flow 页面,(如下所示)。

    重置模拟器

    “Default Start Flow”页面
  3. Preview: Default Start Flow 页面的 Start Resource 部分中,选择 Default Start Flow,然后测试您的代理。

    Default Start Flow
  4. Toggle Simulator 中,输入 Hi,开始与代理进行新对话,然后按照以下所示回答代理的问题。

    代理生成器回答 - 符合条件情况示例
  5. 然后,检查在不满足一项或两项要求时,资格检查是否失败。

    代理检查回答中的参数
  6. 太棒了,生成器按预期运行!真的是这样吗?如果用户提供了年龄但未提供体重(或反之),会发生什么?

    代理最终输出

任务 7. 生成器提示调优

除非同时提供年龄和体重,否则一次性收集年龄和体重的做法似乎行不通。我们应该创建一个表单,以实体参数的形式收集这两个值。为了使提示与所有资格要求(例如年龄和体重)相关,我们可以使用占位符,在字词前添加 $。我们稍后会将这些生成器提示占位符与 fulfillment 中的会话参数相关联,并且在执行期间,这些占位符会替换为会话参数值。

  1. 打开 Eligibility Quiz 页面,点击 Parameters,移除参数 age-weight,然后添加两个单独的表单参数:一个用于体重,另一个用于年龄。选择 @sys.number-integer 作为实体类型,并将参数标记为必需。提供初始提示 fulfillment,例如针对 weight 参数提供 What is your correct weight?,并针对 age 参数提供 How old are you?。保存所有更改。

    资格测验实体类型
  2. 在更新生成器的文本提示以包含两个新的自定义占位符之前,我们需要先移除生成器。为此,请点击创建的路由,向下滚动到 Fulfillment > Generator 部分,移除名为 Blood Donation Eligibility 的生成器,然后点击 Save

    移除生成器占位符

  3. 前往 Manage 标签页,选择 Generators,并将 Blood Donation Eligibility 生成器的文本提示更新为:Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. The weight must be at least 50 kg. The user is $age years old and weighs $weight Kg. Craft an email and politely explain to the user if they're eligible to donate and if not why.

    请注意,我们不仅使文本提示与年龄和体重表单参数相关,还更改了最后一句话,以便能够生成一封正式的邮件来告知用户资格测验的官方结果。

    更新生成器

  4. 点击 Save

  5. 返回到 Build 标签页。在 Eligibility Quiz 页面上,选择路由,然后展开 Fulfillment 窗格的 Generators 部分。然后,点击 Add generator,并选择 Blood Donation Eligibility 生成器。选择生成器后,您需要将新的提示占位符与相应的会话参数相关联。此外,您还需要重新设置 inputoutput 参数,如下所示。

    • age:$session.params.age
    • weight:$session.params.weight
    • Output parameter:$request.generative.eligibility-outcome

    关联生成器

  6. 点击 Save

  7. 再次测试代理。资格检查现在会同时考虑年龄和体重,并且措辞已从对话语气更改为更礼貌得体的回答,这种回答可以直接发送,无需任何潜在的人机协同 (human-in-the-loop)。

    代理测试生成器

恭喜!

今天,我们探讨了生成器在资格测验场景中的应用。您已经看到,生成器使用 LLM 来生成代理回答,并且在知识库的支持下,还可以做出明智的决策。当然,还有许多其他应用场景可以利用生成器和数据存储区实现,我们迫不及待想要探索它们!

了解详情

请参阅以下指南和资源,继续了解 Agent Builder AI 和生成式 AI:

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2026 年 4 月 1 日

上次测试实验的时间:2026 年 4 月 1 日

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

准备工作

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

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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

完成此快速步骤即可开始实验。