【发布时间】:2021-04-29 00:38:42
【问题描述】:
我是 Rasa 和 Docker 的新手。我正在尝试使用 Rasa 构建一个聊天机器人。我在 action.py 文件中包含了一些自定义操作。
它在我的本地运行良好,但在云 (GCP) 中部署时,自定义操作不会被执行。 我正在使用 Docker 来运行操作服务器。
docker-compose.override.yml
version: "3.4"
services:
rasa-production:
volumes:
- './custom_connectors:/app/custom_connectors'
rasa-worker:
volumes:
- './custom_connectors:/app/custom_connectors'
app:
image: 'rasa/rasa-sdk:latest'
volumes:
- './actions:/app/actions'
expose:
- '5055'
depends_on:
- rasa-production
我正在使用 docker 命令运行服务
docker-compose up -d
在检查 docker 容器的状态时,我看到自定义操作服务器不断重启。 检查日志时出现以下错误:
021-01-25 07:52:32 INFO rasa_sdk.endpoint - Starting action endpoint server...
2021-01-25 07:52:32 ERROR rasa_sdk.executor - Failed to register package 'actions'.
Traceback (most recent call last):
File "/app/rasa_sdk/executor.py", line 254, in register_package
self._import_submodules(package)
File "/app/rasa_sdk/executor.py", line 217, in _import_submodules
self._import_module(full_name)
File "/app/rasa_sdk/executor.py", line 231, in _import_module
module = importlib.import_module(name)
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/app/actions/actions.py", line 14, in <module>
from rasa_sdk.types import DomainDict
File "/app/rasa_sdk/types.py", line 3, in <module>
from typing_extensions import TypedDict
ModuleNotFoundError: No module named 'typing_extensions'
我看到python lib路径中安装了typing_extensions模块。
感谢任何帮助。
【问题讨论】:
-
我认为这是 Python 3.8 中没有自动提供类型扩展的问题。见github.com/RasaHQ/rasa-sdk/issues/395。您可以根据自己的经验解决这个问题。
标签: python python-3.x docker google-cloud-platform rasa