CALM

CALM是Rasa的最新技术,仅用于商业版本Rasa Pro中(开源版本仍然为旧的基于意图的设计)。

Conversational AI with Language Models,是一个原生大模型的对话方案,包括:

  • 业务逻辑(Business Logic)
  • 对话理解 (Dialogue Understanding)
  • 对话修复 (Automatic Conversation Repair)

大模型负责理解用户的整篇对话,输出贴合业务流程的内部命令语言。

由于大模型并不是直接输出文字给用户,而是保证DM流程图的执行,因此,它不会产生幻觉,在商业领域中可以可靠的运行。

业务逻辑(Business Logic)
流程(Flow)

流程的描述很重要,这是让大模型找到目标的关键。

流程也支持条件满足。流程如果有FlowGuard,则LLMCommandGenerator在一个Flow的FlowGuard不满足条件时,不会选择这个Flow。

步骤(Steps)
  • 动作step(action)
  • 为了填槽而收集信息step(collect)
  • 填写槽位(set slots)
  • 跳转另一个流程(link)

(大模型的输入长度限制,会影响flow的描述和槽位数量等信息的总信息量)

对话理解(Dialogue Understanding)

用户对话 -》 业务逻辑

和传统NLU相比

  1. 不仅仅是一句话的理解,而是整通对话的理解(会加入 业务逻辑的理解)。
  2. 不再是输出意图和实体。而是用户要继续业务流程所需要的一系列的命令(内部语言)。

使用DU最大的收益就是从意图中释放出来。

传统NLU将用户文字转为预定义的N个桶里,这种简化会影响拓展性。例如,新增的意图是否会和已存在的意图太相似了,以至于会搞砸现有的东西。

CALM可以将复杂的用户文字转为可以让业务流程跑下去的简单语法

对话修复

如果用户回复的不是我们需要的信息,对话修复就会介入。

对话修复本身会有一些默认的Flow来应对一些常见的异常场景。

Digressions:  从一个Flow切换到另一个Flow时触发

Corrections: 纠正或更新输入数据触发,Flow会retrace

Cancellations: 取消一个正在进行的任务

Chitchat: 闲聊,但不会影响Flow

Completion: 完成了用户要求或用户放弃

Clarification: 不明确用户请求或有多个Flow匹配时

Internal Errors: 内部错误

Human Handoff: 挂机

如果自定义上面的pattern(FLow里取一个相同的名字即可覆盖),需要重新训练

FAQ

是否会有大模型的幻觉问题?

不会,因为不会直接输出文字给用户,而是流程图的标准响应给用户。

开发速度如何?

CALM不需要将用户的各种情况变成意图,而只需要建立业务逻辑的关键部分,就能跑起来。

是否可以用上大模型的生成能力?

可以,rephrase功能。就是Flow配置的固定回复话术太呆板,可以加入大模型做rephrase,不会千篇一律,尤其在多次重复时。

同时,大模型可以结合用户的上文或结合用户的画像,进行rephrase

参考

https://rasa.com/blog/how-to-put-next-generation-ai-assistants-in-production-today-with-calm/

https://rasa.com/blog/calm-rasa-s-answer-to-spooky-ai-hallucinations/

Conversational AI with Language Models

.

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐