#node.js #dialogflow-es #actions-on-google
#node.js #dialogflow-es #действия в Google
Вопрос:
Я использую Google Dialogflow (с API версии V2) и хочу создать бота, который может переключаться между несколькими языками по желанию пользователя.
Я настроил все намерения на разных языках, и теперь я хочу, чтобы пользователи могли выбрать один, например, отправив простое сообщение или используя предопределенную кнопку (эта деталь реализации еще не определена, но, вероятно, в любом случае не повлияет на проблему).
Я знаю, что у detectIntent
метода есть languageCode
параметр, который, насколько я понимаю, является необязательным.
В среде API Dialogflow наdevelopers.google.com/apis-explorer , я могу отправить следующий запрос своему агенту:
POST https://dialogflow.googleapis.com/v2/projects/<session>/agent/sessions/new:detectIntent?key={YOUR_API_KEY}
{
"queryInput": {
"text": {
"text": "hi",
"languageCode": "en-EN"
}
}
}
При отправке, queryInput
включая languageCode
, агент отвечает на соответствующем языке, что позволяет переключаться даже в середине разговора, что, я думаю, является отличной функцией.
Другими словами, языковой переключатель отлично работает в этой среде тестирования, где вы можете вручную отправлять languageCode
параметр с каждым запросом и изменять его, если хотите.
Теперь мой вопрос:
Есть ли способ, желательно простой, для меня использовать этот код?
Боюсь, мне пришлось бы настроить полную реализацию с нуля, используя JavaScript и HTML, чтобы запустить это. В настоящее время я думаю о веб-сайте со встроенным iframe, который позволяет изменять узел.JS-код каким-то образом.
Любые предложения приветствуются и ценятся. Кроме того, пожалуйста, не советуйте мне настраивать двух отдельных ботов, это не то, что я ищу.
В качестве альтернативы, есть ли лучший способ использовать Dialogflow для решения этой проблемы?
Спасибо.
Комментарии:
1. Попробуйте использовать Kommunicate
2. Интересный вариант использования, в настоящее время это невозможно в Dialogflow, поскольку атрибут xml: lang еще не поддерживается ( w3.org/TR/speech-synthesis11/#S3.1.2 )
Ответ №1:
Если вы используете интеграцию с Dialogflow, в настоящее время вы можете использовать только один язык. Если вы реализуете свой собственный интерфейс с конечным пользователем, просто спросите конечного пользователя об их предпочтительном языке и предоставляйте языковой код при каждом вызове для определения намерения.