跳转至

对话理解

对话理解旨在了解人工智能对话机器人的最终用户希望如何进行对话。

3.7 版本新特性

命令生成器是 Rasa 的新语言模型 (CALM) 对话式 AI 方法的一部分,从 3.7.0 版本开始可用。

CALM 的对话理解模块将最新的用户消息与对话上下文转换为一组命令,对话机器人使用这些命令来执行定义的业务逻辑。它在命令生成器的帮助下实现这一点。

命令生成器

命令生成器将最新的用户消息与对话上下文一起作为输入,并将其转换为一组命令。目前,有三个命令生成器可用:

  1. SingleStepLLMCommandGenerator
  2. MultiStepLLMCommandGenerator
  3. NLUCommandAdapter

要使用其中一个基于 LLM 的命令生成器,请按照基于 LLM 的命令生成器页面上的说明进行操作。

使用 NLUCommandAdapter 和基于 LLM 的命令生成器

如果你想同时利用 LLM 和经典 NLU 管道来预测命令,那么可以在基于 LLM 的命令生成器之前添加 NLUCommandAdapter,例如 SingleStepLLMCommandGenerator

config.yml
pipeline:
# - ...
  - name: NLUCommandAdapter
  - name: SingleStepLLMCommandGenerator
# - ...

组件会一个接一个地执行。如果第一个组件(即 NLUCommandAdapter)成功预测了 StartFlow 命令,则会跳过 SingleStepLLMCommandGenerator(即不会调用 LLM)。

通常,如果第一个命令生成器预测了命令,则会跳过管道中接下来的所有其他命令生成器。在向管道添加自定义命令生成器时请记住这一点。

命令参考

正如其名称所示,CommandGenerator 会生成“命令”,然后进行内部处理以触发当前对话的操作。以下是所有受支持命令的参考,指示 AI 对话机器人应该:

启动流

启动新

取消流

取消当前。它为对话修复中的取消用例提供支持。

跳过问题

拦截旨在绕过流中当前 collect 步骤的用户消息。它为对话修复中的跳过 collect 步骤用例提供支持。

设置槽

设置为给定值。

修正槽

将给定的值修改为新值。它为对话修复中的修正用例提供支持。

澄清

要求澄清。它支持对话修复中的澄清用例

闲聊回复

以闲聊风格回复回复,无论它们是预定义还是自由格式。它为对话修复中的闲聊用例提供支持。

知识回复

基于知识的自由格式回复。它与企业搜索策略协同工作。

人工处理

将对话交给人工。

错误

此命令表示由于内部错误导致的 AI 对话机器人无法处理对话。

无法处理

此命令表示命令生成器无法生成任何命令。它为对话修复中的无法处理用例提供支持。默认情况下,此命令不包含在 SingleStepLLMCommandGenerator 提供给 LLM 的提示中,但它包含在 MultiStepLLMCommandGenerator 中。

更改流

此命令表示命令生成器请求更改流。此命令由 MultiStepLLMCommandGenerator 单独预测并在内部使用。