Как получить доступ к предыдущим деталям разговора в режиме отката Dialogflow

Каков был бы наилучший способ доступа к деталям предыдущего разговора, когда Dialogflow отображает входные данные в качестве запасного варианта?

Мы хотели бы направить пользователя обратно в правильном направлении, повторно предложив последние предложенные фишки.

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

Было бы хорошо, если бы все резервные намерения содержали информацию "последнее намерение / ответ".

Я тоже не могу найти isFallback Пропереты на объект DialogflowConversation в AoG SDK. Таким образом, мы не можем надежно реализовать логику в middleware обработчик. isFallback свойство было бы очень полезно иметь доступ к объекту диалога в функциях-обработчиках намерений.

Какие-нибудь лучшие практики для надежной установки и сброса памяти последнего разговора для использования в случае отказа?

1 ответ

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

Как насчет, если вы используете conv.action или же conv.intent проверить свои резервные намерения? Вы можете создать функцию промежуточного программного обеспечения, которая хранит всю информацию, необходимую вам от каждого разговора, в user.data если это не резервное намерение, используйте его в своем обработчике аварийного намерения.