Библиотеки, такие как multivocal , хранят последний ответ и предоставляют обработчик для «повторного» намерения, которое будет воспроизводить ответ снова.
Итак, все, что вам нужно сделать, - это использовать библиотеку и создать намерение, подобное этому, с установленным «multivocal.repeat» в качестве действия и включенным выполнением webhook, и он будет обрабатывать повторы для вас:
Если вы посмотрите на JSON, который генерируется как часть каждого ответа, вы увидите, что он создает кратковременный контекст с только что отправленным. (Вот лишь небольшая часть JSON, которая иллюстрирует это.)
{
"name": "projects/vodo/agent/sessions/A...w/contexts/multivocal_repeat",
"lifespanCount": 1,
"parameters": {
"Ssml": "I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?",
"Text": "I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?"
}
}
],
"payload": {
"google": {
"richResponse": {
"items": [
{
"simpleResponse": {
"ssml": "<speak>I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?</speak>",
"displayText": "I'm sorry, I don't know about an attribute named Alpha. What would you like to do now?"
}
}
]
},
(Обратите внимание, что я ведущий специалист по мультивалюте, как описано в комментариях ниже.)