Как установить agent.parameters в Dialogflow, используя код выполнения? - PullRequest
1 голос
/ 31 января 2020

This is my **request.body**. Can I change the parameters using any of this? Like **request.body.queryResult.parameters** Я хочу установить agent.parameters, используя мой код выполнения в DialogFlow, но я не могу это сделать. Я использую:

agent.parameters.product=query;

Где запрос:

var query=request.body.queryResult.queryText;

Как я могу установить параметры моего продукта путем кодирования?

1 Ответ

2 голосов
/ 31 января 2020

Поле agent.parameters доступно только для чтения. Он предоставляет параметры, которые были определены Dialogflow для этого намерения на основе обучающих фраз и параметров этого намерения.

Если вам нужен queryText - просто используйте текст запроса.

Возможно, вы пытаетесь установить параметры для контекста?

Обновить , чтобы отвечать на вопросы из вашего комментария

Могу ли я изменить параметры, если я изменю тело запроса?

Если вы измените их до создания WebhookClient, то, вероятно,. Но не делайте этого.

Опять же, неясно, почему вы хотите установить это в параметре, а не просто использовать значение запроса каким-либо образом.

Как Могу ли я добавить параметры, которые не определены системой?

Написание кода для заполнения параметра в первую очередь отрицательно сказывается на цели обнаружения намерений, поэтому до сих пор не ясно, что вы пытаетесь выполнить. sh при этом.

У меня есть только одно намерение

Как правило, сбор информации может выполняться по нескольким Интентам в беседе, каждый с параметрами, которые имеют Типы сущностей, прикрепленные к ним. Эти сущности могут быть пользовательского типа или могут быть более свободной формы.

Независимо от того, что наличие только вступительного намерения является неожиданным, и неясно, зачем это требуется для вашей платформы ботов или почему вы делаете это так.

Как насчет изменения параметров с помощью выходных контекстов?

В типичных диалогах Dialogflow вы можете создавать выходные контексты с некоторыми (возможно, долго) срок службы и установить параметры для него. Эти параметры также устанавливаются текущими параметрами Intent, поэтому вам нужно убедиться, что они не конфликтуют.

Однако в контексте контекстов хорошо то, что вы устанавливаете в качестве выходного контекста один обработчик намерений отправляется вам в качестве входного контекста в следующем намерении (пока продолжительность жизни не достигнет 0). Таким образом, вы можете использовать параметры для хранения информации, которую вам нужно использовать в нескольких Intents.

НО ... Я понятия не имею, как это будет работать в вашей настройке, где каждый раз вызывается Welcome Intent, так как фреймворк бота должен фактически повторно отправлять контексты, являющиеся частью сеанса.

...