1

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

在加载动作之前,它一直有效。每次我在命令提示符下使用 rasa run 操作(两个操作中的第一个)时,程序都会卡住,我必须手动终止它。当我使用 rasa shell --endpoints endpoints.yml 时,机器人可以正常工作,但是当我添加自定义操作时,服务器返回无法连接到 localhost,就像底部示例中一样。问题是我如何通过这个问题。

*请询问更多信息

在此处输入图像描述

我的 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"
4

5 回答 5

4

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

rasa run actions

然后是第二个窗口:

rasa x

或者

rasa shell

然后它按原样工作。

于 2019-11-25T11:36:25.377 回答
2

请不要使用 action_endpoint 的任何其他端口更改 endpoints.yml

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

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

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

于 2019-11-25T11:27:37.637 回答
0

看起来您的客户操作服务器无法与 endpoints.yml 中提到的端点服务器连接

在运行 actions.py 时,提供端口号作为 rasa run actions -p portnumber

确保您在此处提供的端口号在 endpoints.yml 中提及

于 2020-04-02T03:49:50.200 回答
0

我使用以下命令解决

rasa run actions

然后是第二个窗口:

rasa x

然后它按原样工作。

于 2020-04-24T16:08:10.830 回答
0

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

端点.yml:

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

运行动作服务器的命令:

rasa run actions -p 9000 --debug

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

于 2021-05-09T17:30:17.553 回答