Dialogflow es Dialogflow意图跟进不符合正确意图
例如,如果您有IntentA,并且您添加了两个后续意图:IntentB,IntentC,它工作正常,它应该添加一个上下文,因为它还没有输出上下文。但问题是。有时,如果您添加另一个上下文,例如FallbackIntent,它只会添加另一个上下文(有时),如果您同时删除它(IntentA和FallbackIntent),那么它们都具有相同的上下文,这意味着它们仍然应该连接,并且层级结构不应该更改,但仍然会更改。它仍然可以完美地工作,但这仍然是一种古怪的行为。你知道为什么会发生这种情况以及如何解决吗 意图A 意图B 退路Dialogflow es Dialogflow意图跟进不符合正确意图,dialogflow-es,actions-on-google,Dialogflow Es,Actions On Google,例如,如果您有IntentA,并且您添加了两个后续意图:IntentB,IntentC,它工作正常,它应该添加一个上下文,因为它还没有输出上下文。但问题是。有时,如果您添加另一个上下文,例如FallbackIntent,它只会添加另一个上下文(有时),如果您同时删除它(IntentA和FallbackIntent),那么它们都具有相同的上下文,这意味着它们仍然应该连接,并且层级结构不应该更改,但仍然会更改。它仍然可以完美地工作,但这仍然是一种古怪的行为。你知道为什么会发生这种情况以及如何解决吗
解决此问题并组织dialogflow代理结构的最佳方法是使用dialogflow api的
create\u intent()
函数上载意图。您可以将根意图指定为
parent\u followup\u intent\u name
,所有具有此根意图的意图都将属于相同的意图。请注意,您需要提供root intentID而不是名称
你可以阅读更多关于
编辑:根据要求,这里有第二种更简单的方法,无需任何编程知识
- 假设您的代理之前看起来像下面的屏幕截图,并且您希望
将意向分组到
如何解决
意向下
- 转到设置->导出并导入->将代理导出为zip
- 打开
文件并复制此意图的idhow to solve.json
- 打开要在
如何解决
意图(注意,我们必须打开没有
,因为它们只包含用户的话语\u usersays\u en
- 将
意图的id粘贴为这些json中的如何解决
如下屏幕截图所示的文件(在本例中,parentId
如何解决的意图id是
)b2131b0e-f86d-429d-957c-65c070ddd5df
- 完成所有更改后,请压缩目录
- 再次转到设置->导出和导入->从恢复 zip并选择刚刚创建的zip文件
- 一旦流程完成,意图将如下面的屏幕截图所示
希望它能有所帮助。@sid8491-这真是太巧妙了:) 谢谢你!我可以确认这只是一种视觉表现。无需担心更改代码 只是一个小小的补充:当你已经有了后续的打算,他们已经进行了
"id": "70a48f63-662b-48d4-9a78-dd0af3e0db87",
"parentId": "5a1b5861-fadc-480e-b03b-11bc034df8b9",
"rootParentId": "6c9cb1d6-3efb-4bac-b768-ae3265faa7b6",
确保将
rootParentId
调整到根目录的前面提到的id
,保持parentId不变,就可以全部设置好了。我没有尝试使用follow-up/follow-up/follow-up等结构,但我想说它会以某种方式遵循相同的模式。还有其他方法吗?我没有使用follow-up意图,所以没有尝试过,但是你能下载zip文件,解压缩它,编辑json文件,然后在不使用API的情况下上传zip吗?(听起来它只是视觉上的——它工作正常,对吗?)@是的,它只是视觉上的,对意图匹配绝对没有影响。但在我看来,最好是这样组织。@囚犯,我这样做是为了保持同样的意图:)@WinterChilly,我用另一种方式更新了答案
"id": "70a48f63-662b-48d4-9a78-dd0af3e0db87",
"parentId": "5a1b5861-fadc-480e-b03b-11bc034df8b9",
"rootParentId": "6c9cb1d6-3efb-4bac-b768-ae3265faa7b6",