最近有个项目需要分析用户说出的话对应的相关结果。原本用结巴分词一个一个去匹配,后来数据越来越大,这样就得找其他方案了。后来了解 到 NLP,而且有个开源的项目 Rasa。
国内资源还是很少,官方的中文文档没人翻译,都要自己去看英文,便把这次部署记录下来。
PS : 本次部署是在 Docker 上,需要安装 Docker 后才可以进行后续操作。
mkdir ~/rasa && cd rasa
docker run -v ~/rasa:/app rasa/rasa init --no-prompt
编辑 config.yml
文件以使用所需的管道,并将 NLU 和 Core 数据放入 data/ 目录中。
docker run -v ~/rasa:/app rasa/rasa:latest-full train --domain domain.yml --data data --out models
要在生产中运行 AI 助手,请在 credentials.yml
中配置所需的消息和语音通道。如果此文件不存在,请使用以下命令创建:
touch credentials.yml
然后根据你连接的通道进行编辑。之后,运行训练模型:
docker run -v ~/rasa/models:/app/models rasa/rasa:latest-full run
创建 docker-compose.yml
文件:
touch docker-compose.yml
添加以下内容:
version: '3.0'
services:
rasa:
image: rasa/rasa:latest-full
ports:
- 5005:5005
volumes:
- ./:/app
command:
- run
运行:
docker-compose up
挂载后台
docker-compose up -d
运行成功后访问 localhost:5005 即可。
curl -X POST \
http://localhost:5005/model/parse \
-d '{
"text": "Hello!"
}
PS: 若需要鉴权验证则需要添加一下,修改 docker-compose.yml,这里有
token
密钥和jwt
,这里我选择了auth-token
***
command:
- run
- -m models
- --enable-api
- --auth-token
- 你的密码
curl -X POST \
http://localhost:5005/model/parse?token=你的密码 \
-d '{
"text": "Hello!"
}
原文: http://yiqiao.me/articles/27/rapid-deployment-of-rasa-using-docker
版权声明: 自由转载-非商用-非衍生-保持署名 (创意共享3.0许可证)