【发布时间】:2021-01-19 13:12:09
【问题描述】:
在 Rasa 1.5.3 中,当用户对我们的聊天机器人说了什么但这个聊天机器人不能清楚地理解时,我们希望自动更正用户输入并将其发送回 NLU 管道,以便 Rasa 能够理解它。
我们尝试在 default_fallback 操作中使用 UserUttered 事件,但这不起作用: 使用时:
from rasa_sdk import Action
from rasa_sdk.events import SlotSet, AllSlotsReset, Restarted, UserUtteranceReverted, FollowupAction, ActionReverted, UserUttered
from rasa_sdk.forms import FormAction, REQUESTED_SLOT
from rasa_sdk.events import SlotSet
class ActionDefaultFallback(Action):
def __init__(self) -> None:
pass
def name(self):
return "action_default_fallback"
def run(self, dispatcher, tracker, domain):
text = tracker.latest_message['text']
correct_text = my_custom_spellcheck.correct(text)
return UserUttered(text=correct_text)
运行这个 default_fallback_action 只会给我们这个错误:
2021-01-19 11:59:05 ERROR rasa.core.processor - Encountered an exception while running action 'action_default_fallback'. Bot will continue, but the actions events are lost. Please check the logs of your action server for more information.
如何使用 UserUttered 事件?
【问题讨论】:
标签: python python-3.x rasa-nlu rasa rasa-core