重磅推荐专栏:
《大模型AIGC》
《课程大纲》
《知识星球》
本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经验分享,旨在帮助读者更好地理解和应用这些领域的最新进展
1. Rasa介绍
1.1 架构
- Rasa Open Source: NLU (理解语义) + Core (决定对话中每一步执行的actions)
- Rasa SDK: Action Server (调用自定义的 actions)
- Rasa NLU
理解用户的对话,提取出感兴趣的信息 (如意图分类、实体提取等),以pipeline的方式处理用户对话,在config.yml中配置。 - Rasa Core
根据NLU输出的信息、以及Tracker记录的历史信息,得到上下文的语境:预测用户当前最可能表达的意图;决定对话中每一步执行哪一个action - Agent
从user来看,它是整个系统的代理,接收用户输入信息,返回系统的回答。在系统内,它是一个总控单元,引导系统启动,连接NLU和DM,得到并调用actions,保存对话数据到存储中 - Action Server
提供了Action和Policy解耦的一种方式。用户可以自定义任何一种action连接到action server上,通过训练学习,rasa可以将policy路由到这个action上。 - Tracker Srore
对话的存储单元,将用户和机器人的对话保存在Tracker Store 中。Rasa提供了针对不同存储类型的开箱即用的实现,包括Redis、MongoDB等。 - Lock Store
是一个ID产生器,使用ticket lock机制来确保全局唯一的conversation ID,并在消息处于活动状态时锁定对话,保证消息的顺序处理。使得多个Rasa服务器可以并行运行,当客户端为给定的conversation ID发送消息时,不需要寻址到相同的节点 - Event Broker
事件代理,bot通过event broker连接到其他服务,可以发布一个消息给其他服务来处理这些消息,也可以转发rasa server的消息到其他服务。目前支持的有SQL、RabbitMQ、Kafka - File System
提供无差别的文件存储服务,比如训练好的模型可以存储在不同位置。支持磁盘加载、服务器加载、云存储加载。


发布评论