Используйте параметры outputContext выполнения в текстовом ответе - PullRequest
0 голосов
/ 15 мая 2018

Я использую DialogFlow с выполнением по намерению.

Выполнение имеет такой ответ:

{
    "outputContexts": [
        {
            "name": "search-results",
            "lifespanCount": 9999,
            "parameters": {
                "foo": "bar",
            }
        }
    ]
  }

По тому же намерению (у которого нет результатов поиска в качестве входного контекста), Я хотел бы использовать параметры, возвращаемые в outputContext из моего выполнения, для таких ответов:

Parameters Responses

К сожалению, когда я запускаю эту настройку, она не работает.В параметрах ничего нет, а ответ «Нет в наличии».Даже если мой выходной контекст установлен.

Response Parameters values

Как я могу сразу использовать параметры выходного контекста в своем ответе?Возможный обходной путь - это непосредственное возвращениеMessageMessages со значением - но мне труднее поддерживать и перебивать одну переменную!

1 Ответ

0 голосов
/ 17 мая 2018

Вы не можете сделать это с помощью одного и того же намерения, которое выполняет заполнение слотов параметра, запускает выполнение webhook и использует выходной контекст с тем же намерением.

Но то, что вы хотите сделать, достижимо путем создания отдельного намерения (например, intent_show_search_results ) для отображения результатов поиска, это намерение будет принимать search-results во входном контексте. И в текстовом ответе вы можете использовать параметр этого контекста для подготовки сообщения пользователя, использовать параметр контекста в сообщении, используя шаблон # для доступа к параметрам контекста, например,

Foo имеет значение # search-results.foo

Webhook ответ выполнения для v1 api : -

{
  "contextOut": [
    {
      "name": "search-results",
      "lifespan": 9999,
      "parameters": {
        "foo": "bar"
      }
    }
  ],
  "followupEvent": {
    "name": "intent_show_search_results"
  }
}

Webhook ответ выполнения для v2 api : -

{
    "outputContexts": [
        {
            "name": "projects/${PROJECT_ID}/agent/sessions/${SESSION_ID}/contexts/search-results",
            "lifespanCount": 9999,
            "parameters": {
                "foo": "bar"
            }
        }
    ],
    "followupEventInput": {
        "name": "intent_show_search_results",
        "languageCode": "en-US"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...