Могу ли я использовать Amazon LEX с помощником Google?
Я сделал Chat-Bot, используя Amazon LEX.
Можно ли каким-то образом использовать это приложение с помощью Google Voice Assistant в моем телефоне?
Если нет, то почему?
0 ответов
Да, можно использовать приложение Google Voice Assistant с Amazon Lex в качестве движка NLP.
- Перейдите на https://developers.google.com/actions/ и войдите в систему.
- Перейдите в Консоль действий с помощью кнопки в левом верхнем углу
- Создайте агента Amaaon Lex
- В SDK ваших действий используйте библиотеку времени выполнения Lex для
postContent
или жеpostText
функция для вызова Лекса и получения намеренного имени - Сделайте ваши функции в Actions SDK для возврата текста выполнения
Псевдокод в Nodejs:
const {actionssdk} = require('actions-on-google');
const express = require('express');
const bodyParser = require('body-parser');
const rp = require('request-promise');
const app = actionssdk({debug: true});
app.intent('actions.intent.MAIN', (conv) => {
conv.ask('Hi!');
});
app.intent('actions.intent.TEXT', (conv, input) => {
// here you will write code to call amazon lex and pass input text
intent_name = lex_library(input)
return rp({
intent_name
})
.then((res) => {
// create an intent-action mapper
const actionMap = {
name: nameIntent,
help: helpIntent,
};
// check the intent name from Lex
if (res.intent_name && res.intent_name !== 'None') {
// Map intents to functions for different responses
actionMap[res['intent_name']](conv);
} else {
conv.ask('Sorry, I don\'t understand what you mean.');
}
})
.catch((e) => {
console.log('Error =>', e);
});
});
function nameIntent(conv) {
conv.ask('My name is noobie. Hope you are fine!');
}
function helpIntent(conv) {
conv.ask('Help response');
}
express().use(bodyParser.json(), app).listen(8888)
Обратите внимание, что вам нужно иметь представление о динамической библиотеке sdk и lex, чтобы расширить приведенный выше код в соответствии с вашими потребностями.
Это подход высокого уровня для достижения вашей цели.
Надеюсь, поможет.