return [ SlotSet("find_items", true), FollowupAction("action_deactivate_loop"), ] else: return [ SlotSet("find_items", None), FollowupAction("utter_not_found"), ] 对应的 story: - story: success steps: - intent: query_data - action: action_find_items - slot_was_set: - find_it...
基本的准备工作做好了,接下来需要记得在domain中对intent和custom action注册一下。 # 路径/domain.yml intents: - law_summary actions: - action_law_summary 三.如何使用Actions 在第二章准备工作就绪后,就可以实现当用户问“什么是危险驾驶罪”时,Rasa能够调用"action_law_summary"进行查询并将"guilt=危险驾驶...
- action: utter_greet - intent: out_of_scope - action: action_default_fallback ``` ### 自定义动作(Custom Actions) 在`actions.py` 中定义复杂的业务逻辑。 ```python from rasa_sdk import Action, Tracker from rasa_sdk.executor import CollectingDispatcher class ActionBookFlight(Action): def na...
return [] This custom action can now be used in a Rasa story. The setup for our story will be that we prompt the user to tell us what ingredients they have available which we will then pass to our custom action. - story: recipe_story steps: - intent: inquire_recipe - action: utter...
rasa custom action 中的代码,无法获取到 slot 值: items = tracker.get_slot("items") 而我确实在之前的流程中已经设置了 slot 的值 return [ SlotSet("items", items), FollowupAction("action_a"), ] 疑惑 通过打印日志,可以确定的是,赋给 slot 的值不是空。
(2)* inform{"people": "six"} 表示用户输入包含entity情况,响应这类intent为普通action; (3)* request_weather 表示用户输入Message对应的intent为form action情况; 2. 动作(Actions) 使用-开头的语句表示要执行动作(Action),可分为utterance actions和custom actions,其中,前者在domain.yaml中定义以utter_为前缀...
本文使用最简单的方法对打通 Rasa Action Server 和 LLM 接口进行了尝试,即当 Rasa 对话 intent 为 out_of_scope 时,调用 action_gpt_fallback 的 action,在 action 中根据 tracker.latest_message.get("text")拿到 user_input,然后再调用知识库模型的 API 接口。
(3)* request_weather 表示用户输入Message对应的intent为form action情况; 2. 动作(Actions) 使用-开头的语句表示要执行动作(Action),可分为utterance actions和custom actions,其中,前者在domain.yaml中定义以utter_为前缀,比如名为greet的意图,它的回复应为utter_greet;后者为自定义动作,具体逻辑由我们自己实现,虽...
intents:用户意图 entities:实体 slots:槽 actions:助手说和做的事情 templates:助手根据actions具体要做的事情 因为在这种情况下,我们的动作action只是向用户发送话语作为回复,这些简单的actions都是utter_开头的动作actions,这种动作需要助手在templates中选择语句进行回复,实际上还可以定义更多的动作见Custom Actions 训练...
FormAction可以支持将yes/no以或者自由文本映射到slot中,只需要实现slot_mappings()方法。 defslot_mappings(self):# type: () -> Dict[Text: Union[Dict, List[Dict]]]return{"outdoor_seating":[self.from_entity(entity="seating"),self.from_intent(intent='affirm',value=True),self.from_intent(intent...