- rasa-nlu的究极形态
- rasa对话系统踩坑记(一)
- rasa对话系统踩坑记(二)
- rasa对话系统踩坑记(三)
- rasa对话系统踩坑记(四)
- rasa对话系统踩坑记(五)
- rasa对话系统踩坑记(六)
- rasa对话系统踩坑记(七)
- rasa对话系统踩坑记(八)
- rasa对话系统踩坑记(九)
- rasa对话系统踩坑记(十)
五月份rasa官方发布了release版本,做了比较大的改动。介于此,rasa_chatbot_cn这个demo也做出相对应的更新,更新到master分支上。之前基于0.13
的版本在0.13.x分支上,你可以自由切换。新版本中将命令行做的十分简便,具体命令如下。
edit at 2019.06.24
将之前的rasa-nlu-gao进行了修改,以支持新版本的rasa,而且不再在源码里进行修改。首先需要pip install rasa-nlu-gao>=0.3.1
,具体用法如下。
- python >= 3.6
pip install -r requirements.txt
下载依赖package
make train
训练nlu和core模型,新版本中会将模型自动打包成zip文件。
make run
make run-cmdline
可以在命令行中测试
http://localhost:5005/webhooks/rest/webhook
post请求,请求参数例如:
{
"sender": "0001",
"message": "你好"
}
可以使用postman去请求调用
之前在rasa-nlu-gao增加了若干个自定义组件。而在release版本中可以直接将组建在外部调用,比如这里我举个之前的JiebaPsegExtractor component
的栗子,直接将该组建放在components下面,在config.yml中:
- name: "components.extractors.jieba_pseg_extractor.JiebaPsegExtractor"
part_of_speech: ["nr"]
这样就ok了,后续我会考虑将rasa-nlu-gao重新修改下。
[edit 2019.06.24] 继续上次所说的对rasa-nlu-gao进行修改,现在可以直接使用原来rasa-nlu-gao里面的组件。
- 首先
pip install rasa-nlu-gao>=0.3.1
- 下面只需要在config.yml中配置:
- name: "rasa_nlu_gao.extractors.jieba_pseg_extractor.JiebaPsegExtractor"
part_of_speech: ["nr"]
其他组件也是这样用,具体可参照README.md。 而如果是你自己的组件可以放到components里面,如果你想做贡献,欢迎fork rasa-nlu-gao,并提交pr。
rasa新版本中,增加了rasa x这个功能。这里也做了尝试,感觉挺方便。
pip install rasa-x --extra-index-url https://pypi.rasa.com/simple
下载rasa-x package
make run-x
没错就是这么简单。Have a fun!
Q: 为什么我会报couldn't find component...
这个错?
A: rasa使用了importlib动态加载自定义component和policy。这个错误的原因是你没有将component和policy的目录append到PYTHONPATH里面。你需要export PYTHONPATH=/path/to/your/component
Q: 为什么训练会报10000time超时错误?
A: 这个问题是因为你没有启用bert-as-service服务。启动教程参考rasa对话系统踩坑记(八),启动之后在config.yml将对用的bert-as-service服务ip改下,本例子默认是127.0.0.1,但是你要在本机启动bert服务
Q: 如何能够快速尝试例子呢?
A: 介于各个开发环境不同,报各种错误,所以上传了docker文件。但前提还是你要安装docker,并在运行前确保bert-as-service启用,当然你不用bert的话可以忽略。然后你只需要sh dev/deploy_dev.sh
,就可以愉快的通过postman或者curl测试这个demo了。记得docker logs -f chatbot_dev
查看有没有训练完,有没有报错。linux和mac下没有问题。windows下可能需要微调下。