作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 rasa 框架的新手。我开始开发一个简单的聊天机器人,并为我的聊天机器人创建了三个插槽。所以我的机器人需要识别当前位置并将其保存在插槽中。我当前的位置是从对话中获取的,我可以将其保存到故事中的位置中。
但是我有一个自定义操作,可以通过 API 调用查找天气天气,并且我需要将天气状态和湿度保存在相关插槽中。
class ActionSomeRespThree(Action):
def name(self) -> Text:
return "action_some_resp_three"
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
cityName = tracker.get_slot('city')
最佳答案
您可以简单地在事件中使用 setSlot 方法。
从 rasa_sdk.events 导入 SlotSet
然后在您的运行方法中,您可以在相关插槽中设置您的值。
假设您的湿度槽名称是weather_humidity
。然后想象一下从 API 中提取的湿度值是一个名为 humidity
的变量。然后在您的自定义操作运行方法中,只需使用下面的行设置槽值即可。
SlotSet("weather_humidity", 湿度)
确保您已在 domain.yml 文件中定义了槽值。
关于rasa-nlu - 如何在 rasa 中的自定义操作中设置插槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57471167/
我是一名优秀的程序员,十分优秀!