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

时间:2019-11-21 07:42:26

标签: python rasa-core rasa

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

在加载操作之前,所有操作一直有效。每次我在命令提示符下使用rasa run操作(两个操作中的第一个)时,程序都会卡住,我必须手动将其杀死。当我使用rasa shell --endpointsendpoints.yml时,bot可以正常工作,但是当我添加自定义操作时,服务器不断返回的结果无法与底部示例中的本地主机连接。问题是如何解决这个问题。

*请询问其他信息

enter image description here

我的action.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中,大多数已被删除,但有效位是:

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

5 个答案:

答案 0 :(得分:0)

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

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

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

您的操作服务器在5055端口上运行。如果要设置9000,请从rasa核心后端请求中进行更改。

答案 1 :(得分:0)

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

rasa run actions

然后为其中一个打开第二个窗口

rasa x

rasa shell

然后按预期工作。

答案 2 :(得分:0)

您的自定义操作服务器似乎无法与endpoints.yml中提到的端点服务器连接

正在运行的actions.py提供端口号作为rasa运行操作-p端口号

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

答案 3 :(得分:0)

我通过使用以下命令来解决

Tools > Import & export settings > Reset data

然后打开另一个窗口:

rasa run actions

然后按预期工作。

答案 4 :(得分:0)

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

端点.yml:

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

运行动作服务器的命令:

rasa run actions -p 9000 --debug

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