RASA - rasa 运行 操作 - 本地主机问题

RASA - rasa run actions - localhost issues

我正在使用 RASA 大师班 youtube 频道学习 Rasa。 https://www.youtube.com/channel/UCJ0V6493mLvqdiVwOKWBODQ

在加载操作之前一切正常。每次我在命令提示符下使用 rasa 运行 操作(两个操作中的第一个)时,程序都会卡住,我必须手动终止它。当我使用 rasa shell --endpoints endpoints.yml 时,bot 可以工作,但是当我在自定义操作中添加时,我不断遇到服务器 returns 无法连接到本地主机,如底部示例所示。问题是我如何通过这个问题。

*请询问更多信息

:

我的 actions.py 如下所示:

from typing import Any, Text, Dict, List

from rasa_sdk import Action, Tracker
from rasa_sdk.executor import CollectingDispatcher
from rasa_sdk.events import SlotSet



class ActionFacilitySearch(Action):

    def name(self) -> Text:
        return "action_facility_search"

    def run(self, dispatcher: CollectingDispatcher,
            tracker: Tracker,
            domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:

        facility = tracker.get_slot("facility_type")
        address = "300 Hyde St, San Francisco"
        dispatcher.utter_message("Here is the address of the {}:{}".format(facility, address))

        return []

在 domain.yml 中,对于我拥有的操作部分;

actions:
- utter_greet
- utter_cheer_up
- utter_did_that_help
- utter_happy
- utter_goodbye
- utter_iamabot
- utter_ask_location
- action_facility_search

并且在 endpoints.yml 中,大部分已被#'d out 但活动位是:

action_endpoint:
  url: "http://localhost:9000/webhook"

请不要将 endpoints.yml 更改为 action_endpoint

的任何其他端口

请检查 5055 端口是否正常工作。

action_endpoint:
  url: "http://localhost:5055/webhook"

您的操作服务器 运行 在 5055 端口上。如果你想让它设置 9000 然后从 rasa 核心后端请求更改它。

最后的答案很简单。我需要 运行 两个命令 windows。第一个用于:

rasa run actions

然后是第二个 window:

rasa x

rasa shell

然后它就可以正常工作了。

您的客户操作服务器似乎无法连接到 endpoints.yml

中提到的端点服务器

While 运行ning actions.py 将端口号提供为 rasa 运行 actions -p portnumber

确保endpoints.yml

中提到了您在此处提供的端口号

我用下面的命令解决

rasa run actions

然后是第二个 window:

rasa x

然后就可以正常工作了。

通过查看给定的图像,我假设您想要 运行 端口 9000 上的操作服务器。
如果您确实想要 运行 端口 9000 上的操作服务器,那么您需要进行以下更改:

endpoints.yml:

action_endpoint:
  url: "http://localhost:9000/webhook"

命令到 运行 操作服务器:

rasa run actions -p 9000 --debug

用户 --debug 选项也检查操作文件中是否存在问题。

在 1 号航站楼 运行

rasa actions

在 2 号航站楼 运行 如果不存在,请检查您是否已将模型放置在模型文件夹中使用

rasa train

然后运行

rasa shell --endpoints endpoints.yml