我是Rasa和Docker的新手,我想在Docker中部署我的rasa项目。我找不到正确的流程进行部署。我从博客和docker视频中了解了部署,并尝试了这样做。
第一步:我必须创建一个包含项目源代码和需求的docker镜像。
Dockerfile
FROM rasa/rasa
COPY . /chatbot
WORKDIR /chatbot
RUN pip install -r requirements.txt
USER root
COPY ./actions /app/actions
USER 1001
requirements.txt
pyaml
flask
requests
spacy
rasa-nlu
rasa-core
rasa-core-sdk
第二步:创建Docker-compose。YML
version: "3.0"
services:
rasa:
image: rasa/rasa:2.6.3-full
ports:
- 5005:5005
volumes:
- ./:/app
command:
- run
- -m
- models
- --enable-api
- --cors
- "*"
- --debug
action_server:
image: rasa/rasa_core_sdk:latest
ports:
- 5055:5055
volumes:
- ./actions:/app/actions
command:
- rasa
- run
- actions
谁能告诉我正确的部署流程。
4条答案
按热度按时间7vux5j2d1#
在系统上安装了docker和docker-compose。
在项目的根目录下创建第一个Dockerfile(只是一个名为“Dockerfile”的新文件),并且应该具有以下内容-
请注意,您可以在此处更改Rasa版本。
在actions文件夹中创建第二个Dockerfile,并将此内容放在
请注意,您必须提出要求。txt文件,其中包含您在actions文件夹中安装和使用的python库。
这就是我们需要的所有dockerfiles,现在在根目录中,你可以看到一个名为endpoints的文件。yml.在action_endpoint中将名称localhost更改为action_server(我们将在action server容器的docker-compose文件中注册此名称),它应该看起来像-
最后,创建一个docker-compose。yml文件在根目录下,并将这些内容-
在所有这些之后,您可以运行命令
学分:https://forum.rasa.com/t/dockerizing-my-rasa-chatbot-application-that-has-botfront/46096/27
x7yiwoj42#
我看是对的。我遵循了相同的结构,除了action_server中的命令(docker-compose内部。yml)。我跳过了命令部分,它工作得很好。
action-server:图像:Rasa/rasa-sdk:1.10.2卷:- ./actions:/app/actions ports:- 五零五五:五零五五
而在endpoints url中,服务i的名称。即“action_server”只会出现
7jmck4yq3#
这也像一个魅力:
docker-compose.yml:
Dockerfile。actions-server我刚刚用来安装我的依赖项:
当然,您可以使用docker-composition up来构建和启动
如果您想从前端直接访问Action-Server,则action服务器中的命令--cors * 尤为必要
evrscar24#
这看起来是使用docker部署bot的正确方法。你面临的问题是什么?