准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create a new app
/ 50
Generate the data store prompt
/ 50
Create a new app
/ 50
Generate the data store prompt
/ 50
本实验全面介绍了如何使用 AI Applications 构建对话代理。它将引导您在新的 Conversational Agents 控制台中,采用基于 Playbook 和基于流程的方法来完成代理配置过程。
在本实验中,您将学习以下关键概念:
在本实验中,您将使用 AI Applications 和 Conversational Agents 来构建、部署和配置一个对话代理,以帮助有献血意愿的人员,并确保他们符合规定的资格要求。在 Conversational Agents 响应的过程中,该代理会使用真实的公开数据和 Google 的生成式大语言模型 (LLM)。
Conversational Agents 是一个全新的自然语言理解平台,以能够控制对话的生成模型为基石,并采用了能够更精细控制对话的流程。借助 Conversational Agents,您可以轻松地设计对话式界面,并将其集成到移动应用、Web 应用、设备、聊天机器人、交互式语音响应系统等多种平台中。借助 Conversational Agents,您可以为用户打造耳目一新、引人入胜的产品互动体验。
数据存储区可供数据存储区处理程序和 playbook 数据存储区工具从您的数据中查找最终用户问题的解答。数据存储区是一组网站和文档,每个网站和文档都将作为您的数据来源。
数据存储区设置是用于定义对话代理如何与数据存储区交互的配置。
AI Applications 功能可让您创建由数据存储区提供支持的对话代理。
借助此功能,您只需提供网站网址、结构化数据或非结构化数据(数据存储区),Google 就会解析您的内容,为您构建一个能够运用这些存储区中的数据以及大语言模型的对话代理。然后,客户和最终用户即可与该代理交互,针对所提供的内容提出问题并获得解答。
生成器是 Conversational Agents 的一项功能,让开发者能够使用 Google 最新的生成式大语言模型 (LLM) 和自定义提示,在运行时生成代理回答。生成器能够根据其训练所用的大型文本数据集中的一般知识,或是结合当前对话的上下文,来生成各种通用回答。
在本实验中,您将学习如何执行以下任务:
在此任务中,您将使用 Qwiklabs 执行实验的初始化步骤。
对于每个实验,您都会免费获得一个新的 Google Cloud 项目及一组资源,它们都有固定的使用时限。
请确保使用无痕式窗口登录 Qwiklabs。
请留意实验的访问时限(例如 )并确保能在相应时间段内完成实验。
准备就绪后,请点击 。
请记下您的实验凭证。您需要使用这些凭证来登录 Google Cloud 控制台。
点击打开 Google 控制台。
点击使用其他账号,然后将此实验的凭证复制并粘贴到相应提示框中。
完成初始登录步骤后,系统会显示项目信息中心。
确保已选择您的项目 Google Cloud 项目 ID,然后点击打开以选择您的项目。
您需要先启用 Dialogflow API,然后才能开始在 AI Applications 中使用 Conversational Agent。本实验应该已启用此 API,但您应先验证这一点,然后再继续操作。
按照以下步骤启用 Dialogflow API:
在浏览器中,前往 Dialogflow API 服务详情页面。
如果该 API 尚未启用,请点击启用按钮,以在您的 Google Cloud 项目中启用 Dialogflow API。
现在,您将为应用创建新的对话代理,并为其配置数据源。您将构建的代理的用途是,帮助客户解答与献血资格有关的问题。您将使用 Australian Red Cross Lifeblood 作为可信来源,并根据献血资格网站中的非结构化数据创建数据存储区。
如需创建新的对话代理,请打开 Conversational Agents 控制台。
在 Select Project 对话框中,点击 All 标签页。
点击您的项目 ID
点击 Create agent。
在“Get started with Conversational Agents”弹出式窗口中,选择 Build your own。
在“Create Agent”页面上,输入 Blood Donation Agent 作为代理的显示名称。
选择 global (Global serving, data-at-rest in US) 作为位置。
确保选择 Playbook 作为默认 Conversation start 类型,然后点击 Create 按钮。
在 Default Generative Playbook 页面中,点击 Available tools 下的 + Data store。
点击“Data store”下的 Create data store。
在“create data store”页面上,点击 Cloud Storage (unstructured data),系统即会将您重定向到“AI Applications”页面。
点击左下角的 Advanced options。
选择 Unstructured documents (PDF, HTML, TXT, and more) 作为专业数据导入选项。
指定以下包含本实验的示例数据的 Google Cloud Storage 文件夹,并注意不需要 gs:// 前缀:
点击 Continue。
指定 Australian Red Cross Lifeblood Unstructured 作为数据存储区名称。点击 Continue。
点击 Create 以创建数据存储区。
在数据存储区列表中,选择新创建的数据存储区,其名称为 Australian Red Cross Lifeblood Unstructured。
点击 Activity 标签页,查看数据导入进度。
创建代理后,返回到 Conversational Agents Tools 控制台并刷新页面。
在 Tool name 字段中输入 Blood_donation_tool,然后在下拉菜单中选择 Data store 作为工具类型。
在 Data Stores 下,点击 Add Data Stores,选择 Australian Red Cross Lifeblood Unstructured,然后依次点击 Confirm 和 Save。
前往 Playbook 标签页,然后点击 Default Generative Playbook。在 Available tools 下,选择名为 Blood_donation_tool 的工具,然后点击 Save。
恭喜!您已完成可以帮助潜在献血者的知识赋能型应用的构建,不妨花点时间庆祝一下!
不过,若要让用户能够访问该代理,您还有更多工作要做。在下一部分中,您将使用知识处理程序来支持代理与最终用户之间有关资格要求的对话。
点击检查我的进度,验证已完成以下目标:
在文档收集过程在后台运行时,我们来编辑数据存储区提示,为代理赋予品牌特质。
在 Conversational Agents 控制台中,前往代理,点击页面右上角的三点状图标,然后选择 Settings。
前往 Generative AI 标签页。
点击 General 标签页,然后按如下所示设置过滤条件。
| 过滤条件 | 值 |
|---|---|
| Hate Speech | Block few |
| Dangerous content | Block few(default) |
| Sexually explicit content | Block few |
| Harassment | Block few |
输出结果:
点击 Data store 标签页。
按如下方式填写表单,以生成以下数据存储区提示:你的名字是 Donate,你是 Save a life, a fictitious organization 的一个乐于助人且彬彬有礼的 chatbot。你的任务是帮助 humans with eligibility information。
点击标签页顶部的 Save 按钮。
点击检查我的进度,验证已完成以下目标:
切换到 Conversational Agents 控制台左上侧边栏中的 Flows 标签页(位于 Playbook 下方),然后打开起始页。
点击 sys.no-match-default 事件处理脚本。除非用于启用生成式后备的复选框已选中,否则请启用该功能,然后点击 Save。
在起始页上,点击 Default Welcome Intent。
在 Fulfillment 下,向下滚动到 Agent Responses。fulfillment 是代理对最终用户的响应。Conversational Agents 已使用以下参数预先填充 Agent dialogue:Hi! How are you doing?。
等待文档可供代理使用后,再查看回答的质量。如需查看文档是否可用,您可前往 AI Applications 控制台,点击 Blood Donation Agent 应用旁边的 Connected data stores 下的 view 链接,然后点击 Australian Red Cross Lifeblood Unstructured 即可查看。
如果您不在 Conversational Agents 控制台中,则请通过 AI Applications 控制台点击您应用的名称,系统即会将您重定向到 Conversational Agents 控制台。
在 Conversational Agents 控制台中,前往代理,点击页面右上角的三点状图标,然后选择 Toggle Simulator。
对于 Start Resource,请从下拉菜单中选择 Default Generative Playbook。
提出您希望在网站的“常见问题解答”页面中找到的问题。例如:
最后,我们尝试向代理提出一个与献血完全无关的问题,看看会发生什么。例如:
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 依据此项信息生成代理回答。
太棒了!目前,您正在使用数据存储区来为人们提供与献血相关的常见问题解答。在本实验的下一部分中,我们将了解如何将生成器文本提示与相同内容相关联,以便做出明智的决策。
我们的下一项任务是设计代理,以确定用户是否符合献血资格要求。献血者必须满足严格的要求,例如年龄、体重、现有健康状况、近期旅行史等。在本实验中,我们仅考虑年龄和体重。生成器将使用 Google 的大语言模型 (LLM),根据对话的上下文和知识库动态做出明智的决策。
切换到 Conversational Agents 控制台左上侧边栏中的 Flows 标签页(位于 Playbook 下方),打开起始页,然后点击 Default Welcome Intent。
向下滚动到 Fulfillment 部分,移除 Agent dialogue 字段中的当前代理回答,并插入以下回答:
向下滚动到 Transition 字段,然后依次选择 Page > + new page,将网页名称设置为 User Blood Donation Decision,并点击 Save 按钮。
前往 Manage 标签页,以创建具有以下配置的两个意图,然后点击 + Create
| 显示名称 | 属性 |
|---|---|
| confirmation.yes | 训练短语:“Yes”“yeah”“yes please” |
| confirmation.no | 训练短语:“No” |
前往 Build 标签页,然后点击 User Blood Donation Decision 页面。
如需创建路由,请点击 Routes 旁边的 + 图标。
在 Intent 字段中,从下拉菜单中选择 confirmation.yes。
点击 Routes 旁边的 + 图标。
在 Intent 字段中,从下拉菜单中选择 confirmation.no。然后,向下滚动到 Fulfillment > Agent responses 部分,点击 + Add dialogue response,选择 agent dialogue,插入回答 Thanks, Have a nice day!,然后点击 Save。
生成器功能是一项 Conversational Agents 功能,可让开发者在 Conversational Agents 响应的过程中使用 Google 最新的生成式大语言模型 (LLM)。生成器用于在运行时生成代理回答。生成器能够根据其训练所用的大型文本数据集中的一般知识,或是结合当前对话的上下文,来生成各种通用回答。
我们将创建一个新的生成器,用于将用户提供的信息(例如年龄和体重)与资格要求进行比较,以确定用户是否可以献血。
在 Conversational Agents 控制台中,前往 Manage 标签页,选择 Generators,然后点击 Create new。
接下来,提供 Blood Donation Eligibility 作为显示名称,并撰写以下文本提示。
保留默认的模型质量控制设置。然后点击 Save 以创建生成器。
在响应过程中,文本提示会在运行时发送到生成模型。提示应是清晰的问题或请求,以便模型生成令人满意的回答。您可以在文本提示中使用特殊的内置生成器提示占位符:
$conversation:代理与用户之间的对话,不包括用户的最后一句话。$last-user-utterance:用户的最后一句话。您配置的文本提示要求用户在一个对话轮次中(即用户的最后一句话)同时提供年龄和体重。
接下来,前往 Build 标签页,然后点击 Eligibility Quiz 页面。
如需添加参数,请点击 Parameters 旁边的 + 图标。
输入 age-weight 作为显示名称。
选择 @sys.any 作为实体类型。
向下滚动到 Initial Prompt Fulfillment > Agent responses,在 Agent dialogue 字段中添加提示 What is your age and weight?,然后点击 Save。
在 Eligibility Quiz 页面上,点击 Routes 旁边的 + 图标。
Match AT LEAST ONE rule (OR) 选项,然后输入条件要求 $page.params.status = "FINAL"。$request.generative.eligibility-outcome,该参数将在生成器执行后包含其结果。$request.generative.eligibility-outcome 作为值,然后点击 Save。点击页面右上角的三点状图标,然后选择 Toggle Simulator。
点击 Reset conversation 图标,直到显示 Preview: Default Start Flow 页面,(如下所示)。
在 Preview: Default Start Flow 页面的 Start Resource 部分中,选择 Default Start Flow,然后测试您的代理。
在 Toggle Simulator 中,输入 Hi,开始与代理进行新对话,然后按照以下所示回答代理的问题。
然后,检查在不满足一项或两项要求时,资格检查是否失败。
太棒了,生成器按预期运行!真的是这样吗?如果用户提供了年龄但未提供体重(或反之),会发生什么?
除非同时提供年龄和体重,否则一次性收集年龄和体重的做法似乎行不通。我们应该创建一个表单,以实体参数的形式收集这两个值。为了使提示与所有资格要求(例如年龄和体重)相关,我们可以使用占位符,在字词前添加 $。我们稍后会将这些生成器提示占位符与 fulfillment 中的会话参数相关联,并且在执行期间,这些占位符会替换为会话参数值。
打开 Eligibility Quiz 页面,点击 Parameters,移除参数 age-weight,然后添加两个单独的表单参数:一个用于体重,另一个用于年龄。选择 @sys.number-integer 作为实体类型,并将参数标记为必需。提供初始提示 fulfillment,例如针对 weight 参数提供 What is your correct weight?,并针对 age 参数提供 How old are you?。保存所有更改。
在更新生成器的文本提示以包含两个新的自定义占位符之前,我们需要先移除生成器。为此,请点击创建的路由,向下滚动到 Fulfillment > Generator 部分,移除名为 Blood Donation Eligibility 的生成器,然后点击 Save。
前往 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.
请注意,我们不仅使文本提示与年龄和体重表单参数相关,还更改了最后一句话,以便能够生成一封正式的邮件来告知用户资格测验的官方结果。
点击 Save。
返回到 Build 标签页。在 Eligibility Quiz 页面上,选择路由,然后展开 Fulfillment 窗格的 Generators 部分。然后,点击 Add generator,并选择 Blood Donation Eligibility 生成器。选择生成器后,您需要将新的提示占位符与相应的会话参数相关联。此外,您还需要重新设置 input 和 output 参数,如下所示。
$session.params.age
$session.params.weight
$request.generative.eligibility-outcome
点击 Save。
再次测试代理。资格检查现在会同时考虑年龄和体重,并且措辞已从对话语气更改为更礼貌得体的回答,这种回答可以直接发送,无需任何潜在的人机协同 (human-in-the-loop)。
今天,我们探讨了生成器在资格测验场景中的应用。您已经看到,生成器使用 LLM 来生成代理回答,并且在知识库的支持下,还可以做出明智的决策。当然,还有许多其他应用场景可以利用生成器和数据存储区实现,我们迫不及待想要探索它们!
请参阅以下指南和资源,继续了解 Agent Builder AI 和生成式 AI:
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2026 年 4 月 1 日
上次测试实验的时间:2026 年 4 月 1 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验
完成此快速步骤即可开始实验。