Dialogflow Intents 后续行动的意图不正确

Win*_*lly 3 actions-on-google dialogflow-es

例如,如果您有 IntentA 并添加了 2 个后续意图:IntentB、IntentC,它可以正常工作,它应该添加一个上下文,因为它还没有输出上下文。但问题就在这里。有时,如果您添加另一个上下文,例如 FallbackIntent,它只会添加另一个上下文(有时),如果您在两者(IntentA 和 FallbackIntent)中删除它,那么它们都具有相同的上下文,这意味着它们仍然应该连接,并且hiearchy 不应该改变,但它仍然。它仍然可以完美运行,但这仍然是一种奇怪的行为。任何想法为什么会发生这种情况以及如何解决它?

等级制度

意图A

意图A

意图B

意图B

倒退

倒退

sid*_*491 6

解决此问题并组织对话流代理结构的最佳方法是使用create_intent()对话流 api 的功能上传意图。
您可以将根意图指定为parent_followup_intent_name,并且所有具有此根意图的意图都属于同一意图。请注意,您需要提供根意图ID而不是名称。

您可以使用 python sdk阅读有关create_intent api 的更多信息。

intents_client = dialogflow.IntentsClient()
intent = dialogflow.types.Intent(
        display_name=display_name,
        training_phrases=training_phrases_parts,
        messages=response,
        input_context_names=input_contexts,
        output_contexts = output_context_list,
        parent_followup_intent_name=root_intent,
)
intents_client.create_intent(parent, intent)
Run Code Online (Sandbox Code Playgroud)

编辑:
根据要求,这是在没有任何编程知识的情况下执行此操作的第二种更简单的方法。

  • 假设您的代理之前看起来像下面的截图,并且您想在意图下对how to solve意图 进行分组

agent_before_grouping

  • 转到设置->导出和导入->导出为 zip代理

导出后,解压缩文件并转到意图文件夹。您的文件将类似于下面的屏幕截图
意图_目录_结构

  • 打开how to solve.json文件并复制此意图的 id
  • 打开所有要在how to solve 意图下分组的 json 文件(请注意,我们必须打开没有的文件, _usersays_en因为它们只包含用户话语
  • 的标识粘贴how to solve的意图是parentId在这些JSON文件,如下面的截图(在这种情况下的意图IDhow to solve意图是b2131b0e-f86d-429d-957c-65c070ddd5df

父ID

  • 完成所有更改后,然后压缩目录
  • 再次转到设置->导出和导入->从 zip 还原并选择您刚刚创建的 zip 文件
  • 过程完成后,意图将如下图所示

after_change_intent

希望能帮助到你。