微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rasa Docker:无法连接到操作服务器,但它正在运行

如何解决Rasa Docker:无法连接到操作服务器,但它正在运行

我有一个完全在本地运行的 rasa 应用程序。之后,我使用 docker 构建并运行了应用服务器和活动服务器。 rasa 核心服务器运行良好,直到调用操作端点运行。行动。 我还在 endpoint.yml (http://127.0.0.1:5055/webhook) 中设置了操作端点 url 这是来自rasa核心服务器的日志:

2021-03-04 12:59:18 DEBUG rasa.core.actions.action - Calling action endpoint to run action 'action_form_search'.

2021-03-04 12:59:18 ERROR rasa.core.actions.action - Failed to run custom action 'action_form_search'. Couldn't connect to the server at 'http://127.0.0.1:5055/webhook'. Is the server running? Error: Cannot connect to host 127.0.0.1:5055 ssl:default [Connection refused]

2021-03-04 12:59:18 ERROR rasa.core.processor - Encountered an exception while running action 'action_form_search'.Bot will continue,but the actions events are lost. Please check the logs of your action server for more @R_320_4045@ion.

Traceback (most recent call last):

File "/opt/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 936,in _wrap_create_connection

return await self._loop.create_connection(*args,**kwargs) # type: ignore # noqa

File "uvloop/loop.pyx",line 1974,in create_connection

File "uvloop/loop.pyx",line 1951,in uvloop.loop.Loop.create_connection

ConnectionRefusedError: [Errno 111] Connection refused


The above exception was the direct cause of the following exception:


Traceback (most recent call last):

File "/opt/venv/lib/python3.8/site-packages/rasa/core/actions/action.py",line 670,in run

response = await self.action_endpoint.request(

File "/opt/venv/lib/python3.8/site-packages/rasa/utils/endpoints.py",line 146,in request

async with session.request(

File "/opt/venv/lib/python3.8/site-packages/aiohttp/client.py",line 1012,in __aenter__

self._resp = await self._coro

File "/opt/venv/lib/python3.8/site-packages/aiohttp/client.py",line 480,in _request

conn = await self._connector.connect(

File "/opt/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 523,in connect

proto = await self._create_connection(req,traces,timeout)

File "/opt/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 858,in _create_connection

_,proto = await self._create_direct_connection(

File "/opt/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 1004,in _create_direct_connection

raise last_exc

File "/opt/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 980,in _create_direct_connection

transp,proto = await self._wrap_create_connection(

File "/opt/venv/lib/python3.8/site-packages/aiohttp/connector.py",line 943,in _wrap_create_connection

raise client_error(req.connection_key,exc) from exc

aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 127.0.0.1:5055 ssl:default [Connection refused]

这是来自服务器的日志

2021-03-04 12:58:29 INFO rasa_sdk.endpoint - Starting action endpoint server...

2021-03-04 12:58:30 INFO rasa_sdk.executor - Registered function for 'action_set_slot_test_1'.

2021-03-04 12:58:30 INFO rasa_sdk.executor - Registered function for 'action_set_slot_test_2'.

2021-03-04 12:58:30 INFO rasa_sdk.executor - Registered function for 'action_set_slot_test_3'.

2021-03-04 12:58:30 INFO rasa_sdk.executor - Registered function for 'action_response_test_4'.

2021-03-04 12:58:30 INFO rasa_sdk.executor - Registered function for 'action_form_search'.

2021-03-04 12:58:30 INFO rasa_sdk.endpoint - Action endpoint is up and running on http://localhost:5055

Dockerfile(运行rasa核心服务器)

FROM rasa/rasa:2.3.2

copY . /app

workdir /app

EXPOSE 5005

copY startup.sh /app/scripts/startup.sh

USER root
RUN pip install --no-cache rasa==2.3.2
RUN chmod a+x /app/scripts/startup.sh

workdir /app

ENTRYPOINT ["bash"]

CMD ["scripts/startup.sh"]

Dockerfile(运行动作服务器)

FROM python:3.7.5-slim

RUN apt-get update -qq

copY . /app/actions/
copY ./startup.sh /app/startup.sh
ADD requirements.txt /app/requirements.txt

workdir /app

EXPOSE 5055

STOPSIGNAL SIGINT

USER root
RUN python -m pip install --upgrade pip
RUN pip install -r requirements.txt --no-cache-dir

RUN chmod a+rx ./startup.sh
ENTRYPOINT "./startup.sh"

我哪里做错了?请帮帮我!

解决方法

您应该尝试一个 docker-compose 文件。您还应该确认操作服务器端口已通过 curl 公开并可用:

curl --request POST 'http://localhost:5055/webhook'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。