你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

在 Docker Compose 中部署 Rasa 开源助手

2021/12/30 17:45:51

在 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 规范版本开头。每个容器servicedocker-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以添加新的跟踪器存储,指向您的新服务。可以在跟踪器商店文档中找到有关如何执行此操作的更多信息: