Playbook 参数

游戏手册可以使用显式定义的参数接受和发出上下文信息。参数用于存储有关对话的信息,例如用户选择、操作结果等。您可以在 Playbook 和流程之间传递这些参数的值。

参数声明

您可以定义输入参数输出参数

使用 Agent Builder 控制台时, 您可以在代理编辑器页面上定义参数。

使用 Dialogflow CX 控制台时,创建 playbook 后,您可以使用参数标签页为每个 playbook 定义参数。

参数包括名称、说明 以及以下任一类型:

  • 字符串
  • 数字
  • 布尔值
  • 特定于工具的参数类型

您还可以指定某个参数是否为列表。

输入参数

输入参数允许 playbook 使用传递的值 以及其他 playbook 中的操作。 例如,剧本可能作为参数接收用户的首选名称,并使用该名称亲自向用户致谢;或者,它可能作为参数接收订单标识符,并使用该标识符通过工具检索订单详情。

输入参数是按 playbook 定义的,而 playbook 则没有 公开范围 其他 Dialogflow CX 控制台参数类型 默认情况。 当流程转换为 Playbook 时,如果目标 Playbook 具有同名的输入参数,则页面和会话参数会传播到 Playbook。如需在过渡期间将信息从流传递到 playbook, 定义与会话同名的 playbook 输入参数 或页面参数。

创建示例以控制输入参数值对操作的影响。例如,如果输入参数应影响客服人员对用户的称呼方式,请创建示例来为该参数定义值,然后在示例中的语音指令操作中使用相同的值。如需了解详情,请参阅传递参数

输出参数

借助输出参数,剧本可以发出供其他流程或剧本使用的相关信息。例如,playbook 可能会从 并通过输出参数发出 或者 playbook 可能会使用 工具 预订航班并通过输出参数发出确认号。

创建示例来控制策略方案应如何做出决定 每个输出参数的值。 例如,如果表示确认号的输出参数应从工具使用情况的输出中派生其值,请创建示例,其中工具使用情况的输出与 Playbook 输出参数的值相匹配。

传递参数

与流程不同,Playbook 支持使用特定语法注入参数值。而是依靠说明和少样本问题示例来确定应如何使用参数值,以及在指定参数值时应如何确定值。

假设有一个专为销售活动门票而设计的客服人员,其具有以下 Playbook:

  1. 一个名为 Ticket ordering 的 playbook,使用工具下单 名为 Ticket sales API
    1. 此 Playbook 接受类型为 number 且名称为 event_id 的输入参数。
    2. Ticket sales API 工具预期收到包含 event_id 的请求。
  2. 名为 Event selection 的 Playbook,用于帮助用户选择活动,然后将他们定向到 Ticket ordering(并带有参数 event_id),以便购买票券。

在此示例中,为了确保 event_id 从 从 Event selectionTicket ordering,从 Ticket orderingTicket sales API,若干 示例 所需的资源。

Ticket ordering Playbook 应包含多个示例,这些示例应满足以下条件:

  • 为输入参数 event_id 指定不同的实际值 。
  • 在请求正文中添加工具使用操作,其中包含与输入参数中指定的相同的真实 event_id 值。

Event selection playbook 应包含符合以下要求的多个示例:

  • 加入用户话语,其中用户选择的事件具有真实感 event_id,每个示例中都不同。
  • 添加 Ticket ordering 的 playbook 调用,以便设置 event_id 参数分配给由用户确定的同一现实 event_id 选择。

除了添加示例之外,不妨尝试在说明目标工具详情中添加具体说明,说明应如何使用参数。例如,操作手册 Ticket ordering 包含以下说明:

- Use parameter event_id to send a buy_tickets request with ${TOOL: Ticket sales API}

在提供所述示例和说明的情况下,Event selection 手册会根据用户的选择正确确定 event_id,并将其作为名为 event_id 的输入参数传递给 Ticket ordering playbook。然后,Ticket ordering 将请求正文中的相同 event_id 传递给 Ticket sales API。手册依赖于具有不同参数值的示例,以帮助推断参数的使用方式。