Dialogflow es Dialogflow无法解释地丢失了上下文
我不明白我的机器人会发生什么,在对话过程中的某个时刻,它会丢失一些上下文变量 在下面的屏幕截图中,您可以看到变量Dialogflow es Dialogflow无法解释地丢失了上下文,dialogflow-es,Dialogflow Es,我不明白我的机器人会发生什么,在对话过程中的某个时刻,它会丢失一些上下文变量 在下面的屏幕截图中,您可以看到变量school和campus为空。这很奇怪,因为机器人的回答是 Voici les bourses Disposonibles pourIDRACParis 其中,IDRAC是school变量,Paris是campus。 我不明白机器人如何既能显示正确的值(之前由不同的意图设置),又不能设置值 这是诊断信息 { "responseId": "759621b6-58cc-417e-a
school
和campus
为空。这很奇怪,因为机器人的回答是
Voici les bourses Disposonibles pourIDRAC
Paris
其中,IDRAC
是school
变量,Paris
是campus
。
我不明白机器人如何既能显示正确的值(之前由不同的意图设置),又不能设置值
这是诊断信息
{
"responseId": "759621b6-58cc-417e-a635-46df7627d279",
"queryResult": {
"queryText": "bourses",
"parameters": {
"type": "Bourses",
"school": "",
"campus": ""
},
"allRequiredParamsPresent": true,
"fulfillmentText": "Voici les Bourses disponibles pour IDRAC Paris",
"fulfillmentMessages": [
{
"text": {
"text": [
"Voici les Bourses disponibles pour IDRAC Paris"
]
}
},
{
"text": {
"text": [
"Vous pouvez me demander des détails sur celles qui vous intéressent"
]
}
}
],
"outputContexts": [
{
"name": "projects/hep-playground/agent/sessions/f69b9423-25d0-bc30-bfff-5f71da18f62d/contexts/school_campus_set",
"lifespanCount": 249,
"parameters": {
"school.original": "",
"type": "Bourses",
"school": "",
"type.original": "bourses",
"campus.original": "",
"campus": ""
}
},
{
"name": "projects/hep-playground/agent/sessions/f69b9423-25d0-bc30-bfff-5f71da18f62d/contexts/awaiting_solution_id",
"lifespanCount": 1,
"parameters": {
"school.original": "",
"type": "Bourses",
"school": "",
"campus.original": "",
"type.original": "bourses",
"campus": ""
}
},
{
"name": "projects/hep-playground/agent/sessions/f69b9423-25d0-bc30-bfff-5f71da18f62d/contexts/awaiting_campus",
"lifespanCount": 1,
"parameters": {
"type": "Bourses",
"school": "",
"campus.original": "",
"type.original": "bourses",
"campus": "",
"school.original": ""
}
},
{
"name": "projects/hep-playground/agent/sessions/f69b9423-25d0-bc30-bfff-5f71da18f62d/contexts/current_session",
"lifespanCount": 250,
"parameters": {
"type": "Bourses",
"school": "",
"campus.original": "",
"type.original": "bourses",
"campus": "",
"school.original": ""
}
},
{
"name": "projects/hep-playground/agent/sessions/f69b9423-25d0-bc30-bfff-5f71da18f62d/contexts/type_set",
"lifespanCount": 15,
"parameters": {
"type": "Bourses",
"school": "",
"campus.original": "",
"type.original": "bourses",
"campus": "",
"school.original": ""
}
},
{
"name": "projects/hep-playground/agent/sessions/f69b9423-25d0-bc30-bfff-5f71da18f62d/contexts/school_set",
"lifespanCount": 23,
"parameters": {
"type": "Bourses",
"school": "",
"campus.original": "",
"type.original": "bourses",
"campus": "",
"school.original": ""
}
}
],
"intent": {
"name": "projects/hep-playground/agent/intents/e3236893-676e-4e53-8c87-5b1aa974411e",
"displayName": "UserSetsType"
},
"intentDetectionConfidence": 1,
"languageCode": "fr"
}
}
我不明白为什么相同的键在每一个上下文中都反复出现,这是没有意义的
我们试图将当前会话作为每个意图的输出,希望它能以某种方式保持上下文的活力(遵循以下指南:)
bot的更多配置:
问题在于您的
usersettype
意图定义了所有三个参数。如果用户没有说任何可以填充它们的话,school
和campus
参数就是空字符串,并且您的大多数响应都不包含填充它们的方法
所有活动上下文(在GUI中指定并由您定义)捕获为触发的意图定义的参数,即使这些参数不是由用户填写的。它们用空字符串填充,表示即使它们以前有值,也没有特别填充,表示您试图从特定目的获取值,将用空字符串替换它们,表示您没有从该目的获取值
因此,即使学校
和校园
是按照先前的意图设置的。您在usersettype
Intent中指定了这些值,这意味着这些值将被替换为与该意图匹配的任何值,并且这些新值将放在当前会话
上下文中
当您在正确的轨道上将累积状态存储在上下文中时,如果您有可能由多个意图指定的参数,那么您应该将它们添加到会话上下文中的不同参数名称下,该名称不会冲突。(所以你可以把
学校
映射到保存的学校
)这看起来确实很奇怪。你还可以展示一下usersettype
意图是什么样子的吗?@capture我刚刚添加了几个屏幕截图。另外,webhook已启用,但禁用它不会改变行为。实际上,3个输入参数应该已经存储在上下文中。它们来自于以前的意图,但在屏幕截图中没有显示。我基本上在意图A中得到学校
,然后在意图B中得到校园
,然后在意图C中得到另一个变量,最后我得到意图用户设置类型
,在这里我失去了所有以前的上下文(尽管事实上,所有内容都正确地填写在意图C中。因此,我设法在a到C之间保留了一个适当的上下文,然后将其丢失。您愿意使用webhook fullfilment输出上下文而不是从GUI执行此操作吗?我希望已澄清了我的答案,但也更正了它。太棒了,非常感谢您的帮助,我终于明白了。)了解如何修复。删除“Actions and parameters”中无用的行修复了它。此外,我删除了输出上下文school\u set
和school\u campus\u set
,因为它们没有用,如果我理解正确,无需在每个意图中指定它们。(这可能是错误的,但既然我们将初始寿命设置为250…那么,也许我应该将它们加回去。不需要这么高的值,但在每个意图中刷新它们可能是正确的方式,因为它们必须在整个会话中保留。)