API.AI модуль

Материал из MajorDoMo инфо
Версия от 23:38, 27 января 2020; George2017 (обсуждение | вклад) (создание новой страницы)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)


Автор: SergeJey от Чт янв 26, 2017

Описание

Модуль API.AI

Установка модуля

Установка осуществляется через Маркет дополнений в разделе Взаимодействие - API.AI (by SergeJey).

Настройка

Для начала работы модуля необходимо зарегистрироваться на вышеобозначенном сервисе и получить ключ (Client access token), далее ввести ключ в окно настроек:

Настройка

Кроме ключа есть ещё следующие настройки:

Language -- язык

Voice priority level -- голосовой приоритет ответов бота (бот отвечает функцией sayReply, в которую передаётся заданный приоритет)

Process unknown inputs -- да/нет -- озвучивать ответ от бота, если он ответил сообщением типа "правило не найдено"

После ввода настроек система предоставляет поле для ввода текста -- его можно использовать для тестирования.

Кратко как вообще работает сервис API.AI

Сервис API.AI служит для перевода человеческих запросов в формальный вид, понятный машине. В качестве обработчиков выступают так называемые агенты -- их пользователь создаёт сам, а так же прописывает правила обработки текста и возможные действия. По сути, те же "шаблоны поведения", только гораздо более навороченные в плане настройки правил, плюс "фишки" типа машинного обучения для возможности нечёткого формулирования запросов. Фактически, на вход подаётся текст, а на выходе получается название функции, которую необходимо выполнить, с параметрами, которые бот выяснил в процессе общения. Модуль к MajorDoMo обеспечивает общение с ботом через все имеющиеся методы, а так же сохраняет процедуры, которые бот возвращает в систему -- возвращается название процедуры и параметры, так что непосредственную реализацию процедуры необходимо задать в панели управления модулем.

Тест

Например, если мы подключили к нашему боту домен alarm clock из примеров и мы говорим боту "alarm 8pm every day", то система автоматически создаст пустую процедуру alarm.set, которая будет вызываться с параметрами $params['date'], $params['recurrence'] и !$params['time']:

Пример

P.S. в альфа версию внесён ряд изменений для улучшения обработки событий, так что в стандартной версии возможны некоторые глюки с работой модуля.