dialogflow – 对话开始回调

当我开始行动时:

OK Google talk To My Assistant

它验证并运行欢迎意图,该意图将可用于后续问题的用户实体加载到API.AI

当我尝试开始行动时:

OK Google ask My Assistant some question

它进行身份验证,但我无法加载用户实体,因为我没有会话的sessionID.

当API.AI尝试评估某些问题时,它不能,因为尚未加载用户实体.

似乎唯一的选择是SlotFilling WebHook …但如果我有一个选项来定义用户实体,我真的不需要这个(或它需要的复杂性).

在向API.AI发出第一个请求之前,有什么方法可以获得API.AI sessionID(由Google Actions定义)?或者任何其他方式来获取一些WebHook,其中包含在API之前的sessionsID.AI试图评估一些问题?

最佳答案 好吧,我找到了解决方案.

我将一个名为“EntitiesLoaded”的输入上下文放到我的所有深层链接问题中.

然后当我发出:

OK Google ask My Assistant some question

它称之为后备意图.
在后备Intent中,我执行以下操作:

>加载用户实体
>设置“EntitiesLoaded”上下文.
>重新发出原始查询(已传递给回退范围).这次它会起作用.

点赞