Как отправить параметр контекста в веб-крючок / выполнение DialogFlow v2 - PullRequest
0 голосов
/ 06 июня 2018

Я читаю официальную документацию по этой ссылке: https://cloud.google.com/dialogflow-enterprise/docs/reference/rest/v2beta1/QueryParameters, но я не могу передать параметр контекста в мой запрос, используя следующий код:

  var query = req.body.query;
    const request = {
      session: sessionPath,
      queryInput: {
        text: {
          text: query,
          languageCode: 'en-US',
        },
      },
      queryParameters: {
        contexts: ['Question-followup']
      },
    };

    // Send request and log result
    sessionClient
      .detectIntent(request)
      .then(responses => {
        const result = responses[0].queryResult;
        console.log(result);
        res.json(result);   
        if (result.intent) {
          console.log(`  Intent: ${result.intent.displayName}`);
        } else {
          console.log(`  No intent matchede.`);
        }
      })
      .catch(err => {
        console.error('ERROR:', err);
      });

В документации сказаночто у меня должно быть что-то вроде:

"contexts": [
    {
      object(Context)
    }
  ],

Причина, по которой я хочу это, заключается в том, что иногда DialogFlow не может обнаружить намерение, поэтому я думаю, что передача контекста в параметр поможет диалоговому процессу найтиправильное намерение!

1 Ответ

0 голосов
/ 06 июня 2018

Массив contexts должен представлять собой массив объектов Context , а не просто строку с именами контекста.

Объект контекста выглядит примерно так:

{
  "name": "projects/<Project ID>/agent/sessions/<Session ID>/contexts/<Context Name>",
  "lifespanCount": 1,
  "parameters": {
    "anyParameterName": "parameterValue"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...