基于条件的操作

默认情况下,playbook 使用 LLM 来控制对话、执行操作和响应最终用户。 如果您需要更明确地控制代理的行为, 您可以使用 流程基于条件的操作,本指南对此进行了介绍。

基于条件的操作是 playbook 的可选配置。 您可以设置对话触发器和条件,以调用特定操作,例如使用特定消息进行响应、调用外部工具、调用另一个 playbook 或执行任何其他指定操作。

触发器

您可以定义触发器,这是确定基于条件的操作是否适用的第一步。 下面介绍了触发器类型以及每种类型的特定触发器:

  • 生命周期阶段
    • playbook 开始: 首次启动 playbook 时触发。
    • 在 LLM 决定其后续操作之前: 每次在 LLM 预测后续操作之前触发。
    • 在 LLM 执行其后续操作之前: 每次在 LLM 执行操作之前触发。
  • 事件
    • 自定义事件
    • 没有用户输入

条件

触发器发生后,第二个验证步骤是评估任何可选提供的条件。条件使用与流程路由相同的 条件语法 提供。

如果未提供任何条件,则仅使用触发器来启动操作。

您可以使用以下语法引用参数和上次/后续操作:

  • 会话参数
    • $session.params.PARAMETER_NAME
  • playbook 输入参数
    • $playbook.input.INPUT_FIELD_NAME
  • 上次操作(之前执行的操作)
    • $last-action.name
    • $last-action.input.INPUT_FIELD_NAME
    • $last-action.output.OUTPUT_FIELD_NAME
    • $last-action.status
  • 后续操作(LLM 预测的后续操作)
    • $next-action.name
    • $next-action.input.INPUT_FIELD_NAME

您还可以使用 系统函数

示例:

  • $session.params.current_user = null
  • $last-action.name = "query_order"
  • $last-action.name = "query_order" AND $last-action.status != SUCCESS
  • $last-action.name = "query_order" AND $last-action.output.orders = null

操作

触发器和可选条件评估发生后,您可以配置以下操作:

  • 向最终用户提供响应: 文本、条件响应、自定义载荷和 预先录制的音频。 提供文本时,您可以插入 [pause][pauseShort][pause long],以便在代理语音中插入暂停。 示例:How can I help you today? [pause long] I can help with...
  • 替换 LLM 的后续操作: 工具使用、playbook 调用、playbook 完成、流程调用、 playbook 转换、流程转换。
  • 更改语音设置: 模型名称、无语音超时、端点检测器敏感度、适应。
  • 启用抢占
  • 允许取消只答完一部分的回答播放
  • 发送通话助手短信
  • 启用 DTMF:请参阅用于电话集成的 DTMF