在 Docker Compose 中部署 Rasa 开源助手
如果你想在没有 Rasa X 的情况下部署你的助手,你可以通过在 Docker Compose 中部署来实现。要将 Rasa X 和您的助手一起部署,请参阅推荐的部署方法。
安装 Docker
如果不确定是否安装了 Docker,可以运行以下命令进行检查:
docker -v && docker-compose -v
# Docker 版本 18.09.2,构建 6247962
# docker-compose 版本 1.23.2,构建 1110ad01
如果您的机器上安装了 Docker,输出应该会显示您安装的 Docker 和 Docker Compose 版本。如果该命令不起作用,则必须安装 Docker。有关详细信息,请参阅Docker 安装。
配置频道
要运行在生产的AI助手,不要忘了你的配置需要 消息和语音通道中credentials.yml
。例如,要添加 REST 通道,请在以下部分取消注释此部分credentials.yml
:
rest:
# you don't need to provide anything here - this channel doesn't
# require any credentials
REST 通道将打开您的机器人以接收/webhooks/rest/webhook
端点处的传入请求。
使用 Docker Compose 运行多个服务
Docker Compose 提供了一种简单的方法来一起运行多个容器,而无需运行多个命令或配置网络。当您想要部署一个也有一个动作服务器的助手时,这是必不可少的。
首先创建一个名为的文件docker-compose.yml
:
touch docker-compose.yml
在文件中添加以下内容
version: '3.0'
services:
rasa:
image: rasa/rasa:2.8.19-full
ports:
- 5005:5005
volumes:
- ./:/app
command:
- run
该文件以您要使用的 Docker Compose
规范版本开头。每个容器service
在docker-compose.yml.
第一个服务是rasa运行你的 Rasa 服务器的服务。
要添加动作服务器,请添加动作服务器代码的图像。要了解如何部署操作服务器映像,请参阅构建操作服务器映像。
version: '3.0'
services:
rasa:
image: rasa/rasa:2.8.19-full
ports:
- 5005:5005
volumes:
- ./:/app
command:
- run
app:
image: <image:tag>
expose: 5055
这expose: 5005
是允许rasa
服务到达该app
端口上的服务的原因。要指示rasa
服务将其操作请求发送到该端点,请将其添加到您的endpoints.yml
:
action_endpoint:
url: http://app:5055/webhook
要运行在您的docker-compose.yml
行中配置的服务:
docker-compose up
然后,您应该能够通过对端口 5005 的请求与您的机器人进行交互,该端口位于对应于已配置通道的 webhook 端点上:
curl -XPOST http://localhost:5005/webhooks/rest/webhook -H "Content-type: application/json" -d '{"sender": "test", "message": "hello"}'
配置跟踪器存储
默认情况下,所有对话都保存在内存中。这意味着一旦您重新启动 Rasa 服务器,所有对话都会丢失。如果您想保留您的对话,您可以使用不同的 Tracker Store。
要将跟踪器存储添加到 Docker Compose 部署,您需要向您的添加新服务docker-compose.yml
并修改endpoints.yml
以添加新的跟踪器存储,指向您的新服务。可以在跟踪器商店文档中找到有关如何执行此操作的更多信息: