代码之家  ›  专栏  ›  技术社区  ›  Vadorequest

Dialogflow无法解释地丢失了上下文

  •  1
  • Vadorequest  · 技术社区  · 6 年前

    在下面的屏幕截图中,您可以看到变量 school campus

    IDRAC Paris

    哪里 学校 变量,以及 校园 .

    enter image description here

    这是诊断信息

    {
      "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"
      }
    }
    

    我不明白为什么相同的键在每一个上下文中都反复出现,这是没有意义的。

    我们试着放一个 current_session 作为每个意图的输出,希望它能以某种方式保持上下文的活力(遵循本指南: https://miningbusinessdata.com/better-dialogflow-bots-part-4-session-variables/ )

    enter image description here enter image description here

    1 回复  |  直到 6 年前
        1
  •  2
  •   Prisoner    6 年前

    问题是你的 UserSetsType school campus 如果用户没有说任何可以填充参数的话,那么参数就是空字符串,并且您的大多数响应都不包含填充参数的方法。

    所有活动上下文(在GUI中指定并由您定义)捕获为触发的意图定义的参数,即使这些参数不是由用户填写的。它们用空字符串填充,表示即使它们以前有值,也没有特别填充,表示您试图从特定目的获取值,将用空字符串替换它们,表示您没有从中获取值 意图

    所以即使 学校 用户设置类型 意图意味着这些值将替换为匹配的值 这些新值将被放入 current_session

    当您在正确的轨道上将累积状态存储在上下文中时,如果您有可能由多个意图指定的参数,那么您应该将它们添加到会话上下文中的不同参数名称下,该名称不会冲突。(所以你可以在地图上 学校 savedSchool

    推荐文章