Шаг модели диалогового окна Alexa и dialogState никогда не завершаются

Я реализую модель диалога Alexa с конечной точкой PHP. Я использовал документ Alexa (https://developer.amazon.com/fr/docs/custom-skills/dialog-interface-reference.html)

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

RequestIntent

Произнесение: добавьте {obj} в спальню

Слоты: {obj} / Заполнение слота

Фраза:

Я: Алекса, добавь предмет в спальню

Алекса: Какой объект вы хотите добавить в спальню?

Я: Я хочу добавить машины в спальню

Алекса: Хотите добавить машину в спальню?

Я да

ШАГ1:

DialogState НАЧАЛОСЬ

Я использую ElicitSlot для установки слота {obj}

ШАГ2:

dialogState - IN_PROGRESS.

Я использую ConfirmIntent, чтобы попросить пользователя подтвердить это

ШАГ3:

Пользователь говорит да / нет

ConfirmIntent теперь установлен на CONFIRMED / DENIED.

НО все еще в IN_PROGRESS

dialogState должен быть ЗАВЕРШЕН, потому что я правильно установил все значения своего слота и намерения? Так почему бы не работать здесь?

Заранее спасибо


person Nearyuk    schedule 06.11.2018    source источник


Ответы (3)


Причина, по которой ваш dialogState не COMPLETE, потому что вы используете директиву Dialog.ElicitSlot. Статус COMPLETED возможен только при использовании Dialog.Delegate директивы.

Дополнительная информация об управлении диалоговым окном с помощью директивы Dialog.Delegate здесь

person johndoe    schedule 13.11.2018
comment
Спасибо за ответ ! - person Nearyuk; 13.11.2018

DialogState имеет только следующие статусы: «НАЧАЛОСЬ», «IN_PROGRESS», «ЗАВЕРШЕНО».

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

person babaxaf    schedule 06.11.2018
comment
есть ли способ узнать, какой шаг не завершен? Спасибо за ответ - person Nearyuk; 06.11.2018

Мне нужно включить параметр Автоматическое делегирование в Интерфейсы из консоли разработчика Alexa.

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

Как только все шаги будут завершены, умение получит последний IntentRequest с dialogState, установленным на COMPLETED.

person micmia    schedule 10.01.2019