rasa_ch_bot
用 RASA
实现 RASA Bot
后端。 能够回答关于 RASA
的问题,以及一些例子。
欢迎大家多提 RASA
相关的问题,或者想看的示例,我会补充在这里。
前端地址: 这里
功能更新
- [2021-08-04] 增加 onnx + 量化(用于提高特征提取的速度)的
feature
提取组件 # 一些注意事项 - [2021-06-24] 增加知图谱的接入(放在GRAPH分支了)
- [2021-06-01] 增加
文本纠错 pipeline
(由于demo
较慢,默认未开启,如何开启?) - [2021-05-20]
AlbertFeaturizer
(在dev分支) - [2021-05-13] 增加按钮 demo
- [2021-05-11] 支持查看
BTC
行情 - [2021-05-08] 支持
吸猫\狗\狐狸
。支持 根据图片搜索动漫出处。 - [2021-05-06] 支持
找饭店
demo。 - [2021-04-13] 实现追问demo,实现细节。
部分功能展示
FAQ
天气查询及BTC查询功能
吸动物
搜动漫
知识图谱
支持的问题列表
请参见: 问题列举
一些配置
分词使用的 bert
, 自定义了 tokenizers
如何运行
由于使用了 bert_chinese
, 所以 需要下载 bert_chinese
模型。
并放到 pre_models
文件夹中,重命名为 tf_model.h5
命令执行:
curl -L https://www.flyai.com/m/bert-base-chinese-tf_model.h5 -o pre_models/tf_model.h5
rasa train
一些文件说明
run.py # 相当于运行 rasa run
train.py # == rasa train
run_action_server.py # == rasa run actions
load_model.py # 直接加载并运行模型,与 server 无关。(需要先训练好一个模型)
一些工具
back_translation.py # 回译脚本
# 使用方式
python back_translation.py 需要回译的文本
ONNX注意事项
1. 使用说明
config
更改为:
- name: compoments.nlu.featurizer.lm_featurizer.OnnxLanguageModelFeaturizer
cache_dir: ./tmp
model_name: bert
model_weights: pre_models
onnx: false # 是否开启 onnx
quantize: true # 是否使用量化
下载 torch
的模型
curl -L https://www.flyai.com/m/bert-base-chinese-pytorch_model.bin -o pre_models/pytorch_model.bin
2. 依赖安装
pip install torch==1.9.0 transformers==4.8.2 onnx==1.9.0 onnxruntime==1.8.0 onnxruntime-tools==1.7.0 psutil==5.8.0
3. 一些注释
- 速度能提升多少, 可以参考这篇文章
- 量化后 速度有额外提升,但是效果可能会变差,需要根据语料调整
- 如何测试效果并查看结果
rasa train nlu && rasa test nlu
cat results/intent_errors.json
- 为什么没有用
tensorflow
用来做onnx
尝试多次,都失败了,暂时未找到解决办法(输入的纬度不匹配),如果有人成功了,可以告诉我!!感谢!!!🙏
我要直接看答案!!!
从零开始搭建机器人
1. 下载项目并进入
git clone https://github.com/Dustyposa/rasa_ch_faq.git
cd rasa_ch_faq
2. 安装依赖
pip install -r requirements.txt
curl -L https://www.flyai.com/m/bert-base-chinese-tf_model.h5 -o pre_models/tf_model.h5
rasa train
ps: 注意 python
版本 37+
3. 训练模型
rasa train
4. 运行机器人
需要开两个 shell/iterm
第一个:
rasa shell
第二个:
rasa run actions
然后就可以在第一个 shell
窗口对话了
从 1 开始搭建机器人
这个是干啥的?如果第一个你已经会了,我们加点前端展示的,效果参看这里
1. 下载前端项目并进入
git clone -#-depth 1 https://github.com/Dustyposa/rasa_bot_front
cd rasa_bot_front
2. 启动前端
参照文档
3. 启动 rasa
同样是两个 shell/iterm
,第一个命令稍有不同:
rasa run --cors "*"
第二个:
rasa run actions