Идентификатор проекта можно посмотреть в консоли проектов по адресу, указанному на слайде.

И здесь у нас есть основная функция dialogflowFirebaseFulfillment, где у нас есть функция для приветствия агента, и у нас есть функция для агента, который ничего не понимает.

Но у нас нет функции для заказа пиццы, и это то, что мы собираемся сюда добавить.

И далее, как только вы создали функцию, вам нужно сопоставить намерение с выполнением этой функции, с помощью добавления записи в карту намерений Map.

И если мы включим, например, Fulfillment в намерении приветствия, тогда если мы наберем в Try it – hello, чат-бот ответит не фразой намерения, а функцией приветствия агента, которая определена в вебхук.

Теперь, давайте создадим функцию для заказа пиццы.

Здесь у нас есть функция order pizza, которая определяет переменные для извлечения параметров из пользовательского запроса.

Она создает ключ для хранения в базе данных, а затем создает новую сущность.

Эта сущность будет содержать значения переменных.

Возврат этой функции – это действие сохранения содержимого созданной нами сущности в Datastore.

И в конце, мы должны добавить запись в карту намерений.

После этого развернем заново наш вебхук.

И теперь нужно включить Fulfillment для намерения order.pizza.upsell.drink-no, чтобы после того, как клиент отказался от напитка, мы сохранили наш заказ в базе данных.

Теперь все готово к работе и в панели Try it наберем

Могу ли я получить пиццу.

Затем ответим на вопрос о начинке и на вопрос о размере.

В результате получим ответ от агента, что наш заказ размещен.

Нажав на кнопку Diagnostic info можно посмотреть запросы и ответы вебхука в формате Json.

Чтобы проверить, сохранился ли заказ, откроем Google проект и в боковой панели выберем Datastore – Entites.

И здесь мы увидим, что наш заказ успешно сохранился в облаке Google.

Google Dialogflow. Интеграция с Telegram

Dialogflow позволяет интегрировать вашего чат-бота с различными платформами.

Это такие популярные приложения как Google Assistant, Slack и Facebook Messenger и другие.

В качестве примера мы рассмотрим интеграцию нашего чат-бота с мессенджером Telegram.

Опция интеграция Telegram позволяет легко создавать ботов Telegram с пониманием естественного языка на основе технологии Dialogflow.

И для начала работы, откроем Telegram.

И здесь наберем @BotFather.

Далее нажмем кнопку Start.

Здесь нажмем ссылку /newbot и введем имя бота ex_bot.

И здесь мы должны скопировать сгенерированный токен доступа.

Вернемся в Dialogflow и включим интеграцию с Telegram.

В результате откроется диалоговое окно.

И здесь мы должны ввести сгенерированный токен доступа.

И нажать кнопку Start.

Вернемся в Telegram и откроем бота по его ссылке.

И здесь, нажав кнопку Start мы можем разговаривать с нашим чат-ботом.

ChatterBot

ChatterBot – это библиотека Python, которая позволяет легко генерировать автоматические ответы на вводимые пользователем данные.

И ChatterBot использует набор алгоритмов машинного обучения для получения различных типов ответов.

И ChatterBot является независимой от языка библиотекой, что позволяет обучать чат-бота говорить на любом языке.

Кроме того, машинное обучение ChatterBot позволяет экземпляру агента улучшить свои знания о возможных ответах при дальнейшем взаимодействии с людьми и другими источниками данных.

Изначально, необученный экземпляр ChatterBot запускается без знания того, как общаться.

Каждый раз, когда пользователь вводит фразу, библиотека сохраняет введенный текст и текст ответа.

По мере того, как ChatterBot получает больше входных данных, количество ответов, которыми он может ответить, и точность каждого ответа по отношению к вводу пользователя увеличивается.