我正在尝试实施自定义操作,并已将action_get_answer添加到 domain.yml。
actions:
- utter_greet
- utter_cheer_up
- utter_did_that_help
- utter_happy
- utter_goodbye
- actions.GetAnswer
在 actions.py 中添加了操作:
class GetAnswer(Action):
def name(self) -> Text:
return "action_get_answer"
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
dispatcher.utter_message("action_get_answer")
return []
运行动作服务器:
$ rasa run actions
在运行rasa服务器时:
$ rasa x
我收到此错误,并且未触发GetAnswer
-
错误rasa.core.processor-运行时遇到异常 动作“ action_get_answer”。机器人将继续,但动作事件 迷路了。确保在您的自定义代码中解决该异常。
我如何进行这项工作?
谢谢
答案 0 :(得分:0)
我也在使用RASAX。我创建了自定义操作,并成功调用了它。但是首先我想知道,您的story.md文件是否包含该操作?表示何时调用该操作。 在这里,我将介绍我已实现的内容:
在stories.md文件中:-
## story1
* play
- action_ask_question
在domain.yml文件中:-
...
actions:
- action_ask_question
...
在action.py文件中:-
class ActionAskQuestion(Action):
def name(self):
return "action_ask_question"
def run(self, dispatcher, tracker, domain):
dispatcher.utter_message("Action called.")
return []
如有任何疑问,请评论。
答案 1 :(得分:0)
在Rasa(不是Rasa X)中使用自定义操作时,我也遇到此错误。 Error image
我通过将操作端点添加到endpoints.yml文件来解决了这个问题
action_endpoint:
url: "http://localhost:5055/webhook"
使用一个命令行运行动作服务器
rasa run actions
或(如果您尚未安装rasa)
python -m rasa_sdk --actions actions
并使用另一个命令行(具有端点配置)运行rasa shell
rasa shell --endpoints endpoints.yml