DialogFlow — лучшие практики обработки резервного копирования по умолчанию?

#dialogflow-es

#dialogflow-es

Вопрос:

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

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

Каков наилучший способ справиться с этим сценарием? Возможные сценарии, которые я придумал, следующие:

1) Каждый раз, когда вызывается резервное намерение по умолчанию, мы вызываем веб-службу, которая отслеживает, сколько раз для текущего пользователя вызывалось резервное намерение по умолчанию, и в третий раз вызываем другую службу.

2) Объедините несколько резервных намерений по умолчанию в DialogFlow, и при вызове третьего резервного намерения мы выполняем вызов (это вообще возможно или хорошая идея?)

3) Следите за тем, сколько раз обратный вызов по умолчанию вызывался в DialogFlow (с использованием объекта, я полагаю), а затем с третьей попытки мы вызываем веб-службу.

Любые рекомендации или идеи с радостью получены, поскольку я новичок в DialogFlow

Ответ №1:

Если вы имеете в виду «Последующее намерение» в (2), это было бы плохой идеей. Практически все, что связано с цепочками последующих намерений, является плохой идеей.

Честно говоря, я не уверен, как бы вы справились с (3). Сам Dialogflow имеет очень мало возможностей для включения логики такого рода.

Лучший подход — (1) — для всего вызывайте свой веб-хук выполнения и заставляйте его обрабатывать логику. Обычно требуется подсчитывать, сколько раз подряд пользователь выполняет резервное намерение, а не общее количество раз, когда вы это делаете. Вы можете сохранить этот счетчик в контексте с коротким сроком службы.

(Такие библиотеки, как multivocal, отслеживают счетчик для вас, в стороне, и позволяют использовать его в ответах или в другой логической обработке.) (Отказ от ответственности, я ведущий разработчик multivocal.)

Комментарии:

1. Спасибо за разъяснение 🙂