В настоящее время я использую api.ai, чтобы создать агента для выполнения определенных задач, но один вопрос, на который у меня нет ответа, может заставить его узнать что-то во время беседы, значит, что я говорю меня зовут 'John Cena ', и она должна его хранить, а затем всякий раз, когда я спрашиваю ее, бот должен ответить мне на это. Я знаю, что есть способ сделать это, войдя в api.ai web и вручную добавьте записи, но это не поможет, есть ли какая-либо работа программно или автоматически? файл, который я использовал для практики, приведен в github. и здесь работает DEMOКак сделать api.ai агент узнать что-то динамически?
ответ
Вам в основном нужно, чтобы ваш бот «узнал» факты. Существует много разных способов достижения этого, но в последнее время наиболее распространенным способом является создание знаний в семантических «тройках» и хранение знаний в хранилище графиков (например, Neo4j, Titan, Spark Graph и т. Д.). В вашем примере «мое имя - Джон Сина» переводится в тройной, как («anubava», «Name», «John Cena»). Таким образом, в следующий раз, когда вы войдете в систему как anubhava и спросите: «Что такое мое имя?», Оно переведет на поиск графа, который вернет «Джон Сина». Слово осторожности, достижение этого не является тривиальным и потребует значительного количества тонкой настройки. Для получения дополнительной информации вы можете проверить here и here.
Наконец, наиболее полные решения (которые я знаю) являются решениями на стороне сервера. Если вы хотите, чтобы вся база знаний находилась на вашем мобильном устройстве, вы, вероятно, могли бы использовать ресурсы там в качестве вдохновения и создать свой собственный репозиторий связанных данных, используя встроенную базу данных.
Надеюсь, это поможет. Удачи.
Чтобы сохранить и вызвать имя пользователя, вам необходимо настроить веб-чек с некоторыми основными возможностями сохранения данных. Любая база данных или хранилище ключей будет работать нормально.
Вот разбивка:
- Осуществить выполнение webhook для умысла, который захватывает имя пользователя. Webhook должен хранить имя вместе с уникальным идентификационным идентификатором, который вы должны предоставить с вашего интерфейса в
sessionId
или в качестве параметра контекста при вызове/query
. - Выполнение выполнения webhook для намерения, которое читает имя пользователя. Webhook должен искать имя по идентификатору и возвращать ответ, который сообщает пользователю свое имя.
Документов высокого уровня для написания свершения webhook здесь: