复杂的对话框通常涉及多个对话主题。例如,披萨外卖代理可能具有“食品订单”、“客户信息”和“确认”作为不同的主题。每个主题都需要多轮对话才能让代理获取最终用户的相关信息。

用于定义这些主题和关联的对话路径。每个代理都有一个名为默认初始流的流。对于简单的代理,您可能只需要这一个流。较复杂的代理可能需要更多的流,不同的开发团队成员可以负责构建和维护这些流。例如,披萨外卖代理的流可能如下所示:

多流图示例。

默认初始流

创建代理时,系统会自动创建默认初始流。对于简单代理,您可以将此流用作唯一的流。对于较复杂的代理,您可以添加更多流,并将默认初始流用作对话的简单入口点。

使用 API 时,您可以使用以下流 ID 引用默认初始流:

00000000-0000-0000-0000-000000000000

流初始页面

每个流都在控制台中显示一个名为初始的特殊页面。在控制台中选择流后,初始页会显示为图表上的一个节点。当流最初处于活跃状态时,此页面将成为当前活跃的页面。

初始页没有普通页面那样的参数或响应消息。不过,您可以使用以下方法之一发送消息:

在 API 请求中引用首页

如需在运行时 API 请求中引用流的起始页面,请使用 START_PAGE 作为页面 ID。

如需通过 API 对启动页面进行设计时更改,请针对 Flow 类型使用 getpatch/update API 方法。

为流参考选择协议和版本

协议 V3 V3beta1
REST 流资源 流资源
RPC 流界面 流界面
C++ FlowsClient 不可用
C# FlowsClient 不可用
Go FlowsClient 不可用
Java FlowsClient FlowsClient
Node.js FlowsClient FlowsClient
PHP 不可用 不可用
Python FlowsClient FlowsClient
Ruby 不可用 不可用

创建流

如要创建流,请执行以下操作:

控制台

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 点击部分中的添加 按钮。
  5. 选择创建流
  6. 输入流的显示名。
  7. 点击刚刚创建的流。

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 不可用 不可用

流数据

如需访问流的数据,请执行以下操作:

控制台

  1. 打开 Dialogflow CX 控制台
  2. 为代理选择 Google Cloud 项目。
  3. 在列表中找到代理。
  4. 点击代理显示名。
  5. 点击部分中的流。
  6. 流的页面Pages部分填充。如需了解有关修改页面的信息,请参阅页面指南
  7. 点击图表中的流。
  8. 系统会显示流修改面板。使用此面板可浏览和修改其他流数据。
  9. 点击保存以保存更改。

API

对于流,请参阅 getpatch/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 类型的 getpatch/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) 应自动识别和以哪些最终用户语言进行回复。如需了解详情,请参阅语言自动检测文档
  • 流程锁定:已锁定的流程无法修改,包括对其子资源进行以下更改:

    1. 无法创建、修改或删除网页
    2. 无法创建、修改或删除版本
    3. 无法创建、修改或删除流级路由组
    4. 锁定的流程或锁定流程下的任何页面引用的代理级路由组无法删除,但仍可修改。
  • 高级语音设置:这些高级语音设置可以选择替换相同的代理语音设置

  • 语音自适应设置:流程级语音自适应设置,如需更详细的说明,请参阅手动语音自适应

如需详细了解如何在不同级别应用数据,请参阅数据应用级别

如要访问流设置,请执行以下操作:

控制台

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 将鼠标悬停在 Flows 部分中的流上。
  5. 点击选项 按钮。
  6. 选择流设置
  7. 浏览或修改设置。
  8. 点击保存以保存更改。

API

请参阅 Flow 类型的 getpatch/update 方法。

为流参考选择协议和版本

协议 V3 V3beta1
REST 流资源 流资源
RPC 流界面 流界面
C++ FlowsClient 不可用
C# FlowsClient 不可用
Go FlowsClient 不可用
Java FlowsClient FlowsClient
Node.js FlowsClient FlowsClient
PHP 不可用 不可用
Python FlowsClient FlowsClient
Ruby 不可用 不可用

删除流

如要删除流,请执行以下操作:

控制台

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 将鼠标悬停在 Flows 部分中的流上。
  5. 点击设置 按钮。
  6. 选择删除

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 不可用 不可用

训练流

要训练流,请执行以下操作:

控制台

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 点击代理设置
  5. 打开机器学习标签页。
  6. 要训练单个流,请点击相应行中的训练
  7. 如需训练多个流,请选中相应的复选框,然后点击训练所选的流 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,因此您可以将该图表导入 Lucidchartdiagrams.net 或任何其他可以导入 draw.io 格式的图表工具。按照以下步骤操作时,请选择 XML 数据格式。

您可以使用以下选项导出流程:

  • 包含引用的流程:导出目标流程以及引用的所有级别的流程。引用的流包括目标流引用的流,以及后续引用的流引用的流,没有深度上限。在导入过程中,系统会导入所有导出的流程,并保留这些流程之间的转换。

要导出流,请执行以下操作:

控制台

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 将鼠标悬停在 Flows 部分中的流上。
  5. 点击选项 按钮。
  6. 选择导出流
  7. 按照说明完成操作。

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) 会提供这些资源的摘要,以及用于解决这些资源冲突的三种方法:

  • 替换现有资源:源代理资源会覆盖目标代理资源。
  • 导入为新资源:添加的来源代理资源的名称中会带有独特的后缀。
  • 保留原始资源:目标代理资源将保持不变。

要导入流,请执行以下操作:

控制台

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 点击部分中的添加 按钮。
  5. 选择导入流
  6. 按照说明完成操作。

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 不可用 不可用