Пошаговая инструкция по созданию чат-бота на Dialogflow без знаний программирования
Не так давно на vc.ru я увидел материал с обсуждением лучших сервисов по созданию чат-ботов, но в нём не было ни одного бесплатного решения. Поэтому я решил поделиться своим опытом и показать, что для тестирования чат-бота вы можете быстро сделать его с помощью продукта от Google — Dialogflow.
Для решения этой задачи вам понадобится только аккаунт Google и 15–30 минут своего времени, ещё сам дизайн диалога. Нужно понимать, о чём будет говорить бот.
Для тестового примера я буду описывать создание бота, который отвечает на типовые вопросы. Конечно, бота можно интегрировать, связать с другими сервисами, внедрить в него распознавание, но формат этой статьи даст вам решить задачу первого запуска и покажет, насколько это просто.
Для начала заходим на сайт.
И нажимаем на кнопку Sign in для авторизации. Если у вас не авторизован аккаунт, то Google попросит это сделать. И двигаемся дальше, параллельно разрешая приложению Dialogflow использовать наш Google-аккаунт. Мы остаёмся внутри инфраструктуры Google, поэтому беспокоиться о безопасности в этом вопросе — лишнее. В итоге после успешной авторизации нажимаем Go to console.
Система попросит нас авторизоваться ещё раз и согласовать необходимые разрешения.
Понимаю, что большинство пользователей vc.ru с лёгкостью пройдут эти этапы без подсказок, поэтому часть скринов с нажатием кнопки Ok опускаю.
В итоге мы попадаем в раздел, где нужно подтвердить соглашение, делать это нужно только при запуске первого бота, в дальнейшем процесс будет значительно короче.
В итоге мы добираемся до экрана, где уже можем создать своего первого бота!
Нажимаем Create agent.
Придумываем ему название. И выбираем русский язык, если бот будет говорить на русском. Dialogflow постоянно обучается и распознаёт текст с учётом особенностей, поэтому правильное указание языка повысит точность распознавания.
Но если вы забудете это сделать, бот всё равно будет работать, только стандартные ответы будут на английском, а не на русском, и вам придётся их редактировать. Поэтому лучше выбрать сразу нужный язык.
Заполняем поля «Имя» (Agent name) и Default Language — и нажимаем Create. Бот создан!
Мы видим экран, на котором уже создано 2 intent: Default Fallback и Default Welcome.
В этот момент наш бот уже умеет отвечать на русском на «Привет» и другие стандартные приветствия и говорить, что он нас не понимает, если ни один intent не подошёл (в нашем случае пока мы либо отвечаем на «привет», либо отвечаем, что не понимаем собеседника).
Для простоты тестирования бота будем использовать веб-версию. Для этого выбираем раздел Integrations и там выбираем первый блок.
В моём случае ссылка по умолчанию оказалась такая.
Теперь давайте отредактируем текущие intent под наши нужды. В целом мы можем просто воспринимать эти сущности как вопросы-ответы. Да, при усложнении можно между ними настраивать последовательности и взаимосвязи, распознавания и интеграции со внешними сервисами, но цель этой статьи — создать простого бота формата «вопрос-ответ».
Редактирование стандартных intent
Начнём редактирование с intent, который выдаёт информацию, если бот не понимает собеседника, — Default Fallback Intent. Для этого в левом меню нужно вернуться на пункт Intents и нажать на Default Fallback Intent.
В настройках этого блока нас интересует только раздел Responses. Удалите там лишнее, добавьте свои строчки. Система будет выдавать в случайном порядке один из ответов. Поэтому можно дополнить, оставить один вариант.
Я для тестовой модели убрал стандартные строки и добавил одну свою тактичную: «Я вас не понимаю, перефразируйте, пожалуйста».
Всё это сразу можно проверить в тестовой веб-версии, только не забывайте нажимать после изменения на кнопку Save.
Перейдём к редактированию intent Welcome. С ответами здесь логика такая же, поэтому этого вопроса здесь касаться не будем: мы описываем все варианты в Response, которые должен отправлять наш бот.
Но кроме Response у нас появляется блок Training phrases, который показывает, на какие слова должен реагировать этот intent. Я оставил в тестовом примере вопросы и ответы без изменения в Default Welcome Intent.
Создаём новый intent
И последний шаг в создании бота, который можно повторять до тех пор, пока не будет создано нужно количество intents с вопросами и ответами. Создаём новый intent. Для этого в разделе intents нажимаем Create intent.
Заполняем поля «Название» и Training phrases (Add training phrases).
А затем ответы — responses (Add responses).
Нажимаем Save и можем проверять работу в веб-версии. Там всё сразу же заработало.
Мы можем создать любое количество intent для решения нашей задачи.
Интеграции
Dialogflow даёт множество возможных интеграций. Запустить его в Telegram предельно просто, использовать его с Facebook чуть сложнее, потому что нужно будет пройти модерацию самой соцсети, и это занимает некоторое время.
Если это будет необходимо — напишите в комментариях, и я сделаю отдельную статью про то, как интегрироваться с сервисами, но в целом это не представляет сложностей, а на время тестирования можно использовать веб-версию, которая запускается в один клик.
Чат-боты — это несложно и часто бесплатно. Находите применения для них, тестируйте и внедряйте в свои процессы.
Было бы интересно почитать про интеграцию телеграмм и тамтам, да и вк тоже😉
Тамтам и ВК в списке интеграций нет. Или как-то можно VK подключить?
Простой интеграции нет, но можно написать простой скрипт, вот, например мой на python https://github.com/asvirin/bots
Спасибо, что предложили своё решение. Нужно будет его попробовать для интеграции с ВК
ок, будут вопросы — пишите в телеграм, постараюсь помочь.
Павел, а можно как-то перехватить сообщения бота и ответить осмысленно, если бот не понимает?)
Можно, на это предусмотрены отдельные события в dialogflow.
Перехватываете такое событие, настраиваете оповещение, что нужен ответ специалиста, отвечаете сами. Но это не простая интеграфия, как в этой статье
Алексей, а как Вас найти в телеграмме?
@svirin
Ок, Кирилл. Я чуть позднее напишу продолжение, где опишу простые интеграции. Спасибо за обратную связь
Я к своему тоже прикрутил, но очень лень обучать, можете пообщаться @manda_bot
Ещё умеет погоду по координатам показывать.
Это фб или телега?
Телега
Спасибо за пост, обязательно попробую сегодня. Небольшое уточнение, говоря Фейсбук вы имели ввиду мессенджер?
Да, фейсбук мессенджер
Помимо соц.сетей и телеги,куда еще можно прикрутить?
Просто на сайт можно?
Можно куда угодно, dialogflow условно отвечает за понимание вопроса и выбор ответа из списка.
Обязательно ли быть организацией, чтобы запустить проект? Как понял здесь: https://cloud.google.com/dialogflow/docs/setup - надо регистрироваться в клауд именно как бизнес пользователь
Нет, для запуска вам ничего не нужно кроме аккаунта в Google
а можно подробнее?
У меня тоже запросил. "кредит 300$ без автопролонгации"
Хороший пост :)
Спасибо, интересно!
После Олега, ждём хайпа на чатботы в тч голосовые.
Нужно совсем упростить до уровня приложения и нажать кнопку, упростить создание и взлетит.
Каждый школьник себе бота запилит и будет обучать потихоньку...
Да, у меня как-будто согласовано с Тиньковым получилось написать :-) Но это не так, причина этого поста — обсуждение в другом посте про примеры использования
Ещё можете бесплатно создавать чат-боты на платформе intellectdialog.com, есть связки с Vk,Telegram, Viber, Facebook, WhatsApp через chat-api, instagram через i2crm, онлайн консультант. Есть нативная интеграция с AMO CRM и куча всего через Albato, можно выгружать Лиды в Comagic и Slack. Так же есть нативная интеграция бота WhatsApp с лид.формами в instagram, vk, Facebook. В конструкторе чат ботов можно прописывать внешние запросы, так что можно интегрировать с чем угодно.
Очнь нужно внедрить в классический воцап! Но как ?(((
Это в любом случае на данный момент будет с каким-то сторонним решением, например, https://chat-api.com/ru/ и небольшой работай программиста по связыванию этих сервисов
Есть ещё хороший сервис чат-ботов recast.ai
Поиграется Гугл и в очередной раз прикроет проект. Стрёмно полагаться на них стало.
В любом случае это всё можно реализовать на своём движке, если нужно. А для теста — отличная штука.
Скажите, пожалуйста, могу ли сделать рассылку всем пользователям, которые когда-то обращались через чат бот (интеграции facebook, telegram и др)?
если я запущу его на фейсбук, то смогу на вацап интегрировать?
Как в Dialogflow закончить диалог с пользователем после нужной фразы?
Пообщались, дошли до нужного момента, а дальше пусть пишет а в ответ тишина.
Друзья подскажите а как прописать кнопки в боте через dialogflow?
Друзья подскажите чем можно глушить сообщения с матами в ватсапе?
Комментарий недоступен
А можно ли с помощью DialogFlow интегрировать chatgpt в мой телеграм-бот ? Чтобы chatgpt Общался с людьми ?
это разные штуки
Есть чатГПТ в телеграме, их там полно.