部署Rasa框架到Kubernetes集群并分配GPU资源

Rasa是一个对话式的AI框架,用于创建基于上下文的智能语音助手。这一节我们来看看如何将其部署到k8s集群中,并试一下其自带的模型。

我是T型人小付,一位坚持终身学习的互联网从业者。喜欢我的博客欢迎在csdn上关注我,如果有问题欢迎在底下的评论区交流,谢谢。

Rasa

Rasa是基于python的AI框架,可以对用户提供的数据进行训练生成模型,以达到智能语音助手的目的。更多介绍可以查看其官网

常规安装

在python3.6或者3.7版本下,直接pip安装即可

pip3 install rasa

之后会自动创建二进制可执行文件用作命令行操作

命令行操作

命令行提供绝大多数操作功能,从安装到训练再到起服务都可以完成,如下几个常用命令我们会在下面的操作中用到

命令 说明
rasa init 新建一个项目,其中包含了演示用的数据
rasa train 根据提供的NLU数据训练模型,结果保存在./models
rasa run 根据训练的模型起一个rasa服务器,默认监听5005端口,可修改
rasa -h 查看帮助文档

更多的命令行操作参考这里

API操作

运行完rasa run之后,就可以通过rasa服务器监听的端口进行HTTP API操作了,例如检查服务器状态,传递数据进行训练,和训练完成的服务器进行交互。所有的API信息可以查看这里

这里需要特别指出的是对服务器状态的判断,如下

http://localhost:5005/

如果服务器正常返回200,可以用这一点来指定k8s中容器的存活检测

部署到k8s

下面开始部署。我的部署环境是在博客《从零搭建可分配节点GPU资源至容器的Kubernetes集群(Nvidia版本)》中完成的集群,可以为本文的容器分配GPU资源。

准备自定义docker镜像

dockerhub上有一个现成可用的镜像rasa/rasa,但是根据部署过程中遇到的坑,这里有个地方要改一下。为了安全起见,rasa/rasaDockerfile中将容器内的用户设置为1001,如下

USER 1001

如果Dockerhub不能访问,请注意科学上网

这样子虽然安全,但是在部署过程中可能会有权限问题,所以我们要生成一个新的镜像,将用户改为root。同时也顺便将容器运行命令从rasa --help改为rasa init,如下

FROM rasa/rasa:1.10.1-full
USER root
C
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值