通过自定义动作,你可以运行任何代码,包括 API 调用、数据库查询等。他们可以开灯、在日历中添加事件、检查用户的银行卡余额,甚至你可以想象的任何事情。
关于实现自定义动作的细节,请阅读 Rasa SDK 的内容。如果想要在故事中使用自定义动作,那么需要在 domain.yml 文件中 actions
部分进行添加。
当对话引擎预测执行的是自定义动作时,Rasa 会调用 Action Server,并会将以下信息传递过去:
{
"next_action": "string",
"sender_id": "string",
"tracker": {
"conversation_id": "default",
"slots": {},
"latest_message": {},
"latest_event_time": 1537645578.314389,
"followup_action": "string",
"paused": false,
"events": [],
"latest_input_channel": "rest",
"active_loop": {},
"latest_action": {},
},
"domain": {
"config": {},
"session_config": {},
"intents": [],
"entities": [],
"slots": {},
"responses": {},
"actions": [],
"forms": {},
"e2e_actions": []
},
"version": "version"
}
Action Server 返回的响应如下:
{
"events": [{}],
"responses": [{}]
}