(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(96645698, "init", { defer: true, clickmap:true, trackLinks:true, accurateTrackBounce:true }); ym(96645698, 'hit', window.location.href);

Пошаговая инструкция по созданию чат-бота на Dialogflow без знаний программирования

Не так давно на vc.ru я увидел материал с обсуждением лучших сервисов по созданию чат-ботов, но в нём не было ни одного бесплатного решения. Поэтому я решил поделиться своим опытом и показать, что для тестирования чат-бота вы можете быстро сделать его с помощью продукта от Google — Dialogflow.

Для решения этой задачи вам понадобится только аккаунт Google и 15–30 минут своего времени, ещё сам дизайн диалога. Нужно понимать, о чём будет говорить бот.

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

Для начала заходим на сайт.

И нажимаем на кнопку Sign in для авторизации. Если у вас не авторизован аккаунт, то Google попросит это сделать. И двигаемся дальше, параллельно разрешая приложению Dialogflow использовать наш Google-аккаунт. Мы остаёмся внутри инфраструктуры Google, поэтому беспокоиться о безопасности в этом вопросе — лишнее. В итоге после успешной авторизации нажимаем Go to console.

Первый экран Dialogflow

Система попросит нас авторизоваться ещё раз и согласовать необходимые разрешения.

Понимаю, что большинство пользователей vc.ru с лёгкостью пройдут эти этапы без подсказок, поэтому часть скринов с нажатием кнопки Ok опускаю.

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

Подтверждение вашего согласия на использование сервиса

В итоге мы добираемся до экрана, где уже можем создать своего первого бота!

Общий вид Dialogflow до запуска первого бота

Нажимаем Create agent.

Экран создания бота

Придумываем ему название. И выбираем русский язык, если бот будет говорить на русском. Dialogflow постоянно обучается и распознаёт текст с учётом особенностей, поэтому правильное указание языка повысит точность распознавания.

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

Заполняем поля «Имя» (Agent name) и Default Language — и нажимаем Create. Бот создан!

Мы видим экран, на котором уже создано 2 intent: Default Fallback и Default Welcome.

Два созданных по умолчанию intent-а

В этот момент наш бот уже умеет отвечать на русском на «Привет» и другие стандартные приветствия и говорить, что он нас не понимает, если ни один intent не подошёл (в нашем случае пока мы либо отвечаем на «привет», либо отвечаем, что не понимаем собеседника).

Для простоты тестирования бота будем использовать веб-версию. Для этого выбираем раздел Integrations и там выбираем первый блок.

Блок «Интеграции»

В моём случае ссылка по умолчанию оказалась такая.

Теперь давайте отредактируем текущие intent под наши нужды. В целом мы можем просто воспринимать эти сущности как вопросы-ответы. Да, при усложнении можно между ними настраивать последовательности и взаимосвязи, распознавания и интеграции со внешними сервисами, но цель этой статьи — создать простого бота формата «вопрос-ответ».

Редактирование стандартных intent

Начнём редактирование с intent, который выдаёт информацию, если бот не понимает собеседника, — Default Fallback Intent. Для этого в левом меню нужно вернуться на пункт Intents и нажать на Default Fallback Intent.

В настройках этого блока нас интересует только раздел Responses. Удалите там лишнее, добавьте свои строчки. Система будет выдавать в случайном порядке один из ответов. Поэтому можно дополнить, оставить один вариант.

Default Fallback Intent по умолчанию

Я для тестовой модели убрал стандартные строки и добавил одну свою тактичную: «Я вас не понимаю, перефразируйте, пожалуйста».

Всё это сразу можно проверить в тестовой веб-версии, только не забывайте нажимать после изменения на кнопку Save.

Перейдём к редактированию intent Welcome. С ответами здесь логика такая же, поэтому этого вопроса здесь касаться не будем: мы описываем все варианты в Response, которые должен отправлять наш бот.

Но кроме Response у нас появляется блок Training phrases, который показывает, на какие слова должен реагировать этот intent. Я оставил в тестовом примере вопросы и ответы без изменения в Default Welcome Intent.

Default Welcome Intent

Создаём новый intent

И последний шаг в создании бота, который можно повторять до тех пор, пока не будет создано нужно количество intents с вопросами и ответами. Создаём новый intent. Для этого в разделе intents нажимаем Create intent.

Create Intent

Заполняем поля «Название» и Training phrases (Add training phrases).

Add training phrases

А затем ответы — responses (Add responses).

Add responses

Нажимаем Save и можем проверять работу в веб-версии. Там всё сразу же заработало.

Пример работы тестового бота

Мы можем создать любое количество intent для решения нашей задачи.

Интеграции

Dialogflow даёт множество возможных интеграций. Запустить его в Telegram предельно просто, использовать его с Facebook чуть сложнее, потому что нужно будет пройти модерацию самой соцсети, и это занимает некоторое время.

Если это будет необходимо — напишите в комментариях, и я сделаю отдельную статью про то, как интегрироваться с сервисами, но в целом это не представляет сложностей, а на время тестирования можно использовать веб-версию, которая запускается в один клик.

Чат-боты — это несложно и часто бесплатно. Находите применения для них, тестируйте и внедряйте в свои процессы.

0
38 комментариев
Написать комментарий...
Кирилл Трубецкой

Было бы интересно почитать про интеграцию телеграмм и тамтам, да и вк тоже😉

Ответить
Развернуть ветку
Дмитрий Прозоров

Тамтам и ВК в списке интеграций нет. Или как-то можно VK подключить?

Ответить
Развернуть ветку
Алексей Свирин

Простой интеграции нет, но можно написать простой скрипт, вот, например мой на python https://github.com/asvirin/bots

Ответить
Развернуть ветку
Павел Боревич
Автор

Спасибо, что предложили своё решение. Нужно будет его попробовать для интеграции с ВК

Ответить
Развернуть ветку
Алексей Свирин

ок, будут вопросы — пишите в телеграм, постараюсь помочь.

Ответить
Развернуть ветку
Сергей Келлер

Павел, а можно как-то перехватить сообщения бота и ответить осмысленно, если бот не понимает?)

Ответить
Развернуть ветку
Алексей Свирин

Можно, на это предусмотрены отдельные события в dialogflow.
Перехватываете такое событие, настраиваете оповещение, что нужен ответ специалиста, отвечаете сами. Но это не простая интеграфия, как в этой статье

Ответить
Развернуть ветку
Марат Фахртдинов

Алексей, а как Вас найти в телеграмме?

Ответить
Развернуть ветку
Алексей Свирин

@svirin

Ответить
Развернуть ветку
Павел Боревич
Автор

Ок, Кирилл. Я чуть позднее напишу продолжение, где опишу простые интеграции. Спасибо за обратную связь

Ответить
Развернуть ветку
Make Luv

Я к своему тоже прикрутил, но очень лень обучать, можете пообщаться @manda_bot
Ещё умеет погоду по координатам показывать.

Ответить
Развернуть ветку
Александр Рубцов

Это фб или телега?

Ответить
Развернуть ветку
Make Luv

Телега

Ответить
Развернуть ветку
Andrey Zaynulin

Спасибо за пост, обязательно попробую сегодня. Небольшое уточнение, говоря Фейсбук вы имели ввиду мессенджер?

Ответить
Развернуть ветку
Павел Боревич
Автор

Да, фейсбук мессенджер

Ответить
Развернуть ветку
Даша Бибко

Помимо соц.сетей и телеги,куда еще можно прикрутить?
Просто на сайт можно?

Ответить
Развернуть ветку
Алексей Свирин

Можно куда угодно, dialogflow условно отвечает за понимание вопроса и выбор ответа из списка.

Ответить
Развернуть ветку
Дмитрий Волков

Обязательно ли быть организацией, чтобы запустить проект? Как понял здесь: https://cloud.google.com/dialogflow/docs/setup - надо регистрироваться в клауд именно как бизнес пользователь

Ответить
Развернуть ветку
Павел Боревич
Автор

Нет, для запуска вам ничего не нужно кроме аккаунта в Google

Ответить
Развернуть ветку
Николай Ростов

а можно подробнее?
У меня тоже запросил. "кредит 300$ без автопролонгации"

Ответить
Развернуть ветку
Ilya Gelfenbeyn

Хороший пост :)

Ответить
Развернуть ветку
Денис Медвецкий

Спасибо, интересно!

Ответить
Развернуть ветку
Sandy Bell

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

Ответить
Развернуть ветку
Павел Боревич
Автор

Да, у меня как-будто согласовано с Тиньковым получилось написать :-) Но это не так, причина этого поста — обсуждение в другом посте про примеры использования

Ответить
Развернуть ветку
Виктор Комаров

Ещё можете бесплатно создавать чат-боты на платформе intellectdialog.com, есть связки с Vk,Telegram, Viber, Facebook, WhatsApp через chat-api, instagram через i2crm, онлайн консультант. Есть нативная интеграция с AMO CRM и куча всего через Albato, можно выгружать Лиды в Comagic и Slack. Так же есть нативная интеграция бота WhatsApp с лид.формами в instagram, vk, Facebook. В конструкторе чат ботов можно прописывать внешние запросы, так что можно интегрировать с чем угодно.

Ответить
Развернуть ветку
Oleg Yarik

Очнь нужно внедрить в классический воцап! Но как ?(((

Ответить
Развернуть ветку
Павел Боревич
Автор

Это в любом случае на данный момент будет с каким-то сторонним решением, например, https://chat-api.com/ru/ и небольшой работай программиста по связыванию этих сервисов

Ответить
Развернуть ветку
Михаил

Есть ещё хороший сервис чат-ботов recast.ai

Ответить
Развернуть ветку
Nickolai Vasiliev

Поиграется Гугл и в очередной раз прикроет проект. Стрёмно полагаться на них стало.

Ответить
Развернуть ветку
Павел Боревич
Автор

В любом случае это всё можно реализовать на своём движке, если нужно. А для теста — отличная штука.

Ответить
Развернуть ветку
Oleksii Slabenko

Скажите, пожалуйста, могу ли сделать рассылку всем пользователям, которые когда-то обращались через чат бот (интеграции facebook, telegram и др)?

Ответить
Развернуть ветку
Граф Меликов

если я запущу его на фейсбук, то смогу на вацап интегрировать?

Ответить
Развернуть ветку
Yuriy Lvov

Как в Dialogflow закончить диалог с пользователем после нужной фразы?
Пообщались, дошли до нужного момента, а дальше пусть пишет а в ответ тишина.

Ответить
Развернуть ветку
Степан Николаевич

Друзья подскажите а как прописать кнопки в боте через dialogflow?

Ответить
Развернуть ветку
Дмитрий Алексеев

Друзья подскажите чем можно глушить сообщения с матами в ватсапе?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Alexey S

А можно ли с помощью DialogFlow интегрировать chatgpt в мой телеграм-бот ? Чтобы chatgpt Общался с людьми ?

Ответить
Развернуть ветку
Николай Ростов

это разные штуки
Есть чатГПТ в телеграме, их там полно.

Ответить
Развернуть ветку
35 комментариев
Раскрывать всегда