部署 Rasa¶
本页面介绍如何使用 Helm 部署开源 Rasa。
注意
Rasa Helm Chart 是开源的,位于 helm-charts 仓库中。如果你发现任何错误或有改进建议,可以在次仓库中创建 issue。
安装依赖¶
-
检查你是否已安装 Kubernetes 或 OpenShift 命令行界面(CLI)。你可以使用如下命令进行检查:
如果命令报错,请根据你使用的集群安装 Kubernets CLI 或 OpenShift CLI。
-
确保 Kubernetes / OpenShift CLI 可以正确连接到你的集群。可以使用如下命令执行此操作:
如果执行命令报错,则说明你未连接到集群。要获取连接到集群的命令,请咨询你的集群管理员或参见云服务提供商的文档。
-
确保你已安装 Helm CLI。要检查这一点,请运行:
如果命令报错,请安装 Helm CLI。
如果你使用的 Helm 版本
< 3.5
,请更新到> 3.5
版本的 Helm。
安装¶
创建命名空间¶
我们建议将开源 Rasa 安装到单独的命名空间中,以避免干扰现有的集群部署。要创建新的命名空间,请运行如下命令:
创建值文件¶
准备一个名为 rasa-values.yml
的空文件,其中将包含使用 Helm 进行安装的所有自定义配置。
你可以在 Rasa Helm Chart 仓库中找到所有可用的值。
注意
Rasa chart 的默认配置会部署一个开源 Rasa 服务器,下载一个模型,并为下载的模型提供服务。访问 Rasa Helm Chart 仓库来获取更多配置示例。
加载初始模型¶
第一次安装 Rasa 时,你可能还没有可用的模型服务器,或者你可能需要一个轻量级模型来测试部署。为此,你可以选择训练或下载初始模型,默认情况下,Rasa chart 从 Github 下载示例模型。使用这个配置不需要改变任何内容。
如果你想定义现有模型来从指定的 URL 下载,请根据以下配置使用使用 URL 更新 rasa-values.yml
:
applicationSettings:
initialModel: "https://github.com/RasaHQ/rasa-x-demo/blob/master/models/model.tar.gz?raw=true"
注意
初始模型下载的 URL 必须指向一个 tar.gz 文件,同时不能要求身份验证。
如果要训练初始模型,你可以通过将 applicationSettings.trainInitialModel
设置为 true
来实现。它将初始化容器并根据 /app
目录中的数据训练一个模型。如果 /app
目录为空,则会创建一个新项目。你可以在 Rasa Helm Charts 示例中找到如何从一个 git 仓库中下载数据文件并训练初始模型的示例。
部署开源 Rasa 对话机器人¶
运行如下命令:
# Add the repository which contains the Rasa Helm Chart
helm repo add rasa https://helm.rasa.com
# Deploy Rasa Open Source
helm install \
--namespace <your namespace> \
--values rasa-values.yml \
<release name> \
rasa/rasa
注意
仅适用于 OpenShift:如果部署失败并且 oc get events
返回 1001 is not an allowed group spec.containers[0].securityContext.securityContext.runAsUser
,请使用如下值重新安装命令:
postgresql:
volumePermissions:
securityContext:
runAsUser: "auto"
securityContext:
enabled: false
shmVolume:
chmod:
enabled: false
nginx:
image:
name: nginxinc/nginx-unprivileged
port: 8080
然后等待部署就绪。如果要检查状态,如下命令将阻塞直至 Rasa 部署就绪:
访问开源 Rasa 对话机器人¶
默认情况下,Rasa 部署通过 rasa (<release name>)
公开服务,并且只能在 Kebernetes 集群中访问。要使用 kubectl port-forward
访问开源 Rasa 对话机器人,请使用如下命令:
然后可以访问 http://127.0.0.1:${SERVICE_PORT}
上的部署。
另一种选择是在 NodePort
上公开部署并直接访问它。
-
准备将 Rasa 服务切换到 NodePort 的配置。
-
更新部署。
-
获取 Rasa 服务的节点端口和地址。
访问 Rasa Helm Chart README 来了解其他公开部署的方法。
下一步¶
访问 Rasa Helm Chart 仓库,你可以在其中找到配置示例。