复杂的对话框通常涉及多个对话主题。例如,披萨外卖代理可能具有“食品订单”、“客户信息”和“确认”作为不同的主题。每个主题都需要多轮对话才能让代理获取最终用户的相关信息。
流用于定义这些主题和关联的对话路径。每个代理都有一个名为默认初始流的流。对于简单的代理,您可能只需要这一个流。较复杂的代理可能需要更多的流,不同的开发团队成员可以负责构建和维护这些流。例如,披萨外卖代理的流可能如下所示:默认初始流
创建代理时,系统会自动创建默认初始流。对于简单代理,您可以将此流用作唯一的流。对于较复杂的代理,您可以添加更多流,并将默认初始流用作对话的简单入口点。
使用 API 时,您可以使用以下流 ID 引用默认初始流:
00000000-0000-0000-0000-000000000000
流初始页面
每个流都在控制台中显示一个名为初始的特殊页面。在控制台中选择流后,初始页会显示为图表上的一个节点。当流最初处于活跃状态时,此页面将成为当前活跃的页面。
初始页没有普通页面那样的参数或响应消息。不过,您可以使用以下方法之一发送消息:
在 API 请求中引用首页
如需在运行时 API 请求中引用流的起始页面,请使用 START_PAGE
作为页面 ID。
如需通过 API 对启动页面进行设计时更改,请针对 Flow
类型使用 get
和 patch/update
API 方法。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |
创建流
如要创建流,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 点击流部分中的添加 add 按钮。
- 选择创建流。
- 输入流的显示名。
- 点击刚刚创建的流。
API
请参阅 Flow
类型的 create
方法。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |
流数据
如需访问流的数据,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 为代理选择 Google Cloud 项目。
- 在列表中找到代理。
- 点击代理显示名。
- 点击流部分中的流。
- 流的页面Pages部分填充。如需了解有关修改页面的信息,请参阅页面指南。
- 点击图表中的流。
- 系统会显示流修改面板。使用此面板可浏览和修改其他流数据。
- 点击保存以保存更改。
API
对于流,请参阅 get
和 patch/update
以了解 Flow
类型。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |
Page
类型的 get
和 patch/update
方法。为页面参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 页面资源 | 页面资源 |
RPC | 页面接口 | 页面接口 |
C++ | PagesClient | 不可用 |
C# | PagesClient | 不可用 |
Go | PagesClient | 不可用 |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | 不可用 | 不可用 |
Python | PagesClient | PagesClient |
Ruby | 不可用 | 不可用 |
以下数据与流相关联:
- 页面:构成流的页面的列表。
- 路由:当流的起始页处于活跃状态时,系统可能会调用所有这些路由。当流的其他页面处于活跃状态时,可能会执行具有意图要求的路由。如需了解详情,请参阅状态处理程序范围和流级路由。
- 事件处理程序:当流处于活跃状态时,系统可能会调用这些处理程序。如需了解详情,请参阅流级事件处理程序。
如需详细了解如何在不同级别应用数据,请参阅数据应用级别。
流设置
以下设置适用于流:
- 显示名称:直观易懂的流名称。
- 说明:流的说明。
- 机器学习设置 流机器学习设置也可以在代理机器学习设置中访问和说明。
- 自动检测语言 借助自动检测语言功能,您可以指定对话式 AI 客服 (Dialogflow CX) 应自动识别和以哪些最终用户语言进行回复。如需了解详情,请参阅语言自动检测文档。
流程锁定:已锁定的流程无法修改,包括对其子资源进行以下更改:
语音自适应设置:流程级语音自适应设置,如需更详细的说明,请参阅手动语音自适应。
如需详细了解如何在不同级别应用数据,请参阅数据应用级别。
如要访问流设置,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 将鼠标悬停在 Flows 部分中的流上。
- 点击选项 more_vert 按钮。
- 选择流设置。
- 浏览或修改设置。
- 点击保存以保存更改。
API
请参阅 Flow
类型的 get
和 patch/update
方法。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |
删除流
如要删除流,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 将鼠标悬停在 Flows 部分中的流上。
- 点击设置 more_vert 按钮。
- 选择删除。
API
请参阅 Flow
类型的 delete
方法。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |
训练流
要训练流,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 点击代理设置。
- 打开机器学习标签页。
- 要训练单个流,请点击相应行中的训练。
- 如需训练多个流,请选中相应的复选框,然后点击训练所选的流 NLU 模型。
API
请参阅 Flow
类型的 train
方法。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |
导出流
您可以通过以下两种方式导出流程:
数据导出:此操作会将您的数据流导出为原始数据,以便将其导入到任何代理。导出流时,该流引用的资源(意图、实体、网络钩子)也会导出。按照以下步骤操作时,请选择原始数据数据格式。
图表导出(预览):此选项会将您的流程导出为可视图表。导出格式为 draw.io XML,因此您可以将该图表导入 Lucidchart、diagrams.net 或任何其他可以导入 draw.io 格式的图表工具。按照以下步骤操作时,请选择 XML 数据格式。
您可以使用以下选项导出流程:
- 包含引用的流程:导出目标流程以及引用的所有级别的流程。引用的流包括目标流引用的流,以及后续引用的流引用的流,没有深度上限。在导入过程中,系统会导入所有导出的流程,并保留这些流程之间的转换。
要导出流,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 将鼠标悬停在 Flows 部分中的流上。
- 点击选项 more_vert 按钮。
- 选择导出流。
- 按照说明完成操作。
API
请参阅 Flow
类型的 export
方法。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |
导入流
将流从来源代理导入目标代理时,流引用的全局资源(意图、实体、网络钩子)会随流专用数据一起导入。如果目标代理具有与来源代理中显示名称相同的任何全局资源,Conversational Agents (Dialogflow CX) 会提供这些资源的摘要,以及用于解决这些资源冲突的三种方法:
- 替换现有资源:源代理资源会覆盖目标代理资源。
- 导入为新资源:添加的来源代理资源的名称中会带有独特的后缀。
- 保留原始资源:目标代理资源将保持不变。
要导入流,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 点击流部分中的添加 add 按钮。
- 选择导入流。
- 按照说明完成操作。
API
请参阅 Flow
类型的 import
方法。
为流参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 流资源 | 流资源 |
RPC | 流界面 | 流界面 |
C++ | FlowsClient | 不可用 |
C# | FlowsClient | 不可用 |
Go | FlowsClient | 不可用 |
Java | FlowsClient | FlowsClient |
Node.js | FlowsClient | FlowsClient |
PHP | 不可用 | 不可用 |
Python | FlowsClient | FlowsClient |
Ruby | 不可用 | 不可用 |