rasa_架构解析
rasa官网 https://rasa.com/
github的rasa页 https://github.com/RasaHQ/rasa
文档很重要 https://rasa.com/docs/rasa/
rasa官方Community https://forum.rasa.com/
rasa中国官方社区QQ群 820037374
一、架构
rasa符合一般的任务型对话系统架构
二、rasa个模块功能
1、将用户输入的Message传递到Interpreter(Rasa NLU模块),该模块负责识别Message中的"意图(intent)“和提取所有"实体”(entity)数据;
2、Rasa Core会将Interpreter提取到的意图和识别传给Tracker对象,该对象的主要作用是跟踪会话状态(conversation state);
3、利用policy记录Tracker对象的当前状态,并选择执行相应的action,其中,这个action是被记录在Track对象中的;
4、将执行action返回的结果输出即完成一次人机交互。
三、文件结构介绍
rasa木有三个版本 rasa1.X、rasa2.X、rasa3.X不同版本项目文档结构不太一样,但是功能相差不大
1、 config.yml: 定义了rasa的配置处理的过程
pipeline部分、policy部分
2、domain.yml: 定义了rasa要处理的各种意图、语义槽位、回复消息等
3、actions.py : 定义了custom action,也就是根据意图识别出来后,需要自定义的动作,比如访问数据库获取结果、比如调用HTTP请求
4、data/nlu.md '*' 你的NLU训练数据
data/stories.md '*' 你的故事
5、credentials.yml 连接其他服务的详细信息
6、endpoints.yml 连接到fb messenger等频道的详细信息
7、models/<timestamp>.tar.gz 你的初始模型
四、开源系统
https://github.com/jiangdongguo/ChitChatAssistant
五、服务框架启动命令
1.启动虚拟环境
conda activate env1
2.训练模型命令
nohup python -u train.py >log_400_500w.log 2>&1 &
训练模型
python -m rasa train --config configs/config.yml --domain configs/domain.yml --data data/ --out models
可用:
python -m rasa train --config config.yml --domain domain.yml --data data/ --out models
机器学习
nohup python3 -m rasa train --config configs/config.yml --domain configs/domain.yml --data data/ --out models >train.log 2>&1 &
深度学习
python -m rasa train --config configs/zh_jieba_supervised_embeddings_config.yml --domain configs/domain.yml --data data/ >train.log 2>&1 &
机器学习+深度学习
python -m rasa train --config configs/zh_jieba_mitie_embeddings_config.yml --domain configs/domain.yml --data data/ >train.log 2>&1 &
2.训练完成后启动服务
(1)启动核
nohup python3 -m rasa run -vv --cors "*" --port 5006 --endpoints endpoints.yml --credentials credentials.yml --debug >log1.log 2>&1 &
(2)启动action
nohup python3 -m rasa run actions --port 5056 --actions actions --debug >log2.log 2>&1 &
(3)启动服务
python3 server.py
后台启动:
nohup python server.py >server.log 2>&1 &
nohup python vserver.py >vserver.log 2>&1 &
(4)浏览器访问
http://192.168.4.203:8088/ai?content=查询广州天气
http://127.0.0.1:8088/ai?content=查询广州天气
参考:
https://www.jianshu.com/p/a3f2103a3a31
https://www.jianshu.com/u/4b912e917c2e