如何解决rasa 在响应 json 中发送多条消息以获取表单答案 rasa x
我正在使用 rasa x。并使用 nodejs API 访问 rasa。
我必须填写表格,以便显示要选择的城市列表,用户必须选择分配给每个城市的数字。这就是我写动作的方式
class CityRequirementForm(FormAction):
def name(self):
return "city_form"
@staticmethod
def required_slots(tracker: Tracker):
return ["area"]
def slot_mappings(self):
return {
"area": self.from_text()
}
# method to validate the user entered information in the slot
def validate_retailer(
self,value,dispatcher: CollectingDispatcher,tracker: Tracker,domain):
# extract the store lists from the slot
area_list = tracker.get_slot('area_list')
try:
if isinstance(int(value),int):
if int(value) > len(retailer_detail_list):
dispatcher.utter_message(template='utter_invalid_area')
return {'area': None}
else:
return {'area': value}
except Exception as err:
dispatcher.utter_message(template='utter_invalid_area')
return {'area': None}
我返回该区域,因为用户的 None
未从给定列表中选择数字或输入其他内容。
这在 Rasa X ui 上完美运行。如果我在网络选项卡中检查 rasa 的响应,则有 2 条消息的列表。第一个是实际消息 utter_invalid_area
,第二个是与表单相关的槽消息(“选择城市.. 城市列表”)。
在 NOdejs Apis 中,我出于某种原因附加了响应,但在这种情况下,第二条消息对我来说使用较少,
有没有办法修剪第二条消息?或者任何其他方法来实现相同的目标?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。