Как создать чат‑бота доставки пиццы на Google Dialogflow
Что такое Google Dialogflow — простое объяснение
Google Dialogflow — это платформа для создания чат‑ботов и голосовых агентов с поддержкой Natural Language Understanding (NLU). NLU — это способность системы понимать смысл фраз пользователя. Dialogflow позволяет проектировать диалоги, выделять параметры (имя, e‑mail, адрес), связывать действия и выдавать ответы.
Ключевые элементы Dialogflow:
- Агент — общий контейнер для логики чат‑бота.
- Интенты — сценарии или категории общения (например, «Заказать пиццу»).
- Сущности — типы данных, которые нужно распознать (размер, начинка, адрес).
- Параметры — конкретные значения, извлечённые из фразы пользователя.

ALT: Иллюстрация процесса доставки пиццы через приложение для заказа еды — курьер приносит коробку пиццы к двери.
Когда Dialogflow подходит и когда нет
Важно понимать границы применения:
- Подходит, если нужен текстовый или голосовой интерфейс с предсказуемыми ветвлениями и формами заказа.
- Не подходит, если требуется абсолютная генеративная свобода и творческое творчество без ограничений — для этого нужны другие модели и архитектуры.
Примечание: Dialogflow хорош для быстрых MVP и интеграций с веб‑виджетом, мессенджерами и голосовыми ассистентами.
Шаг 0 — Подготовка: что потребуется
- Google‑аккаунт.
- Базовое понимание терминов: «агент», «интент», «сущность». (Определение: интенция — цель высказывания пользователя.)
- Список вариантов размеров, начинок и типов коржей.
- URL сайта для интеграции или локальная папка для тестирования.
Как построить чат‑бота для доставки пиццы — пошаговая инструкция
Следуйте этой последовательности, чтобы создать простого бота Yummeteria, который соберёт имя, e‑mail, телефон, адрес и параметры пиццы (размер, начинка, корж).
- Перейдите в Dialogflow и авторизуйтесь под своим Google‑аккаунтом.
- Примите условия и нажмите «Create Agent». Агент — это ваш чат‑бот целиком.

ALT: Страница создания нового агента в Google Dialogflow с полями для имени и языка агента.
- Введите имя агента и нажмите «Create». Учтите: в имени нельзя использовать пробелы.

ALT: Поле для ввода имени агента и кнопка создания агента в интерфейсе Dialogflow.
- Перейдите в раздел «Intents» и создайте новый интент. Интент описывает цель клиента. По умолчанию есть Welcome‑intent — он приветствует пользователя.

ALT: Список интентов в Dialogflow с кнопкой для создания нового интента.
- Дайте интенту название, затем добавьте Training Phrases — примеры фраз, которые пользователь может сказать.

ALT: Интерфейс добавления обучающих фраз в интент Dialogflow.
- Примеры фраз для заказа: “Order Pizza”, “I want a Pizza”, “I want to order a Pizza.” — добавляйте вариативные формулировки и опечатки.

ALT: Добавление фраз пользователя для интенции заказа пиццы в Dialogflow.
- Чтобы распознавать e‑mail, в поле «Add user expression» введите пример вида sampleemail@domainname.com, выделите его и назначьте тип @sys.email.

ALT: Выбор системной сущности @sys.email для распознавания адреса электронной почты.
- Сохраните интент. Внизу в секции Action and parameters отметьте параметр email и задайте подсказки (prompts), которые бот будет использовать, если пользователь не дал e‑mail.

ALT: Настройка параметров и подсказок для поля электронной почты в интенте Dialogflow.
- Добавьте тексты подсказок, которые бот будет задавать при валидации e‑mail.

ALT: Примеры фраз‑подсказок для запроса электронной почты у клиента.
Повторите шаги для имени, телефона и адреса: используйте @sys.given-name, @sys.phone-number, @sys.address соответственно.
Создайте сущности (Entities) для опций пиццы: Size, Topping, Base и т.д. Сущности помогают выделять значения из фраз.

ALT: Экран создания новой сущности в Dialogflow, где задаются варианты значений.
- Пример: сущность Size со значениями Regular, Small, Medium, Large, Monster. Сохраните и создайте сущности для Topping и Base.

ALT: Список размеров пиццы, добавленных как значения сущности Size.
- Вернитесь в Intents и добавьте Training Phrases, в которых подставляйте созданные сущности. При выделении слова укажите тип сущности, например @size.

ALT: Пример привязки выделенной части фразы к сущности размера пиццы.
Отметьте все обязательные параметры и настройте порядок вопросов. Порядок можно сортировать перетаскиванием.
В разделе Responses задайте текст ответа‑подтверждения. Для подстановки параметров используйте знак $ (например, $size). Это будет финальным подтверждением заказа.

ALT: Настройка текстового ответа для подтверждения заказа с подстановкой значений параметров.
- Нажмите иконку Settings рядом с именем агента, обновите описание и укажите URL изображения — это станет аватаром бота. При желании смените отображаемое имя.

ALT: Настройки агента, где можно добавить описание и ссылку на изображение для аватара бота.
Поздравляем — базовый бот готов для интеграции и тестирования.
Импорт/Экспорт агента
Полный проект доступен в репозитории GitHub в виде ZIP‑архива. Чтобы импортировать: откройте Settings агента → Export and Import → Import from Zip и загрузите архив.
Интеграция Dialogflow‑бота на сайт
- В меню слева выберите Integrations и в разделе Text Based включите Dialogflow Messenger.

ALT: Раздел интеграций Dialogflow с опцией Dialogflow Messenger для встраивания виджета.
- Нажмите Enable.
- Скопируйте предложенный скрипт и вставьте в вашей страницы.
Пример локального тестирования виджета
- Создайте файл index.html и вставьте базовую разметку. Пример:
- Запустите локальный сервер. Один из простых способов — Python:
python3 -m http.server 9000Откройте http://localhost:9000/index.html и проверьте работу виджета.

ALT: Предпросмотр чат‑виджета Dialogflow на веб‑странице в исходном виде.

ALT: Окно стандартной интеграции чат‑бота Dialogflow в правом нижнем углу веб‑страницы.
- Чтобы кастомизировать внешний вид, вставьте CSS‑правила в секцию . Dialogflow Messenger поддерживает ряд CSS‑переменных (цвета, шрифты, форма пузырьков). Пример простого правила:

ALT: Вариант виджета Dialogflow после применения кастомных цветов и стиля.
Тестирование и приёмка
Критерии приёмки
- Бот корректно распознаёт e‑mail, телефон и адрес в 95% типичных примеров (оценка вручную при тестировании).
- Последовательность вопросов соответствует заданной логике заказа.
- Функция подтверждения заказа выводит все собранные параметры.
- Виджет корректно загружается в браузерах Chrome, Firefox, Edge на мобильных и десктопах.
Тест‑кейсы / Acceptance criteria
- При вводе валидного e‑mail он сохраняется как параметр и не запрашивается повторно.
- Если пользователь пропустил поле, бот задаёт подсказку (prompt).
- При выборе размера и начинки все значения подставляются в ответ‑подтверждение.
- При доступе с мобильного виджет адаптирован под ширину экрана.
Роли и чек‑листы при развертывании
Роль: Продукт‑менеджер
- Подготовить список сценариев пользователя.
- Утвердить набор сущностей (размеры, начинки, дополнительные опции).
- Провести UX‑тесты с живыми пользователями.
Роль: Разработчик
- Создать агента в Dialogflow.
- Настроить импорты/экспорты и CI для версии агента.
- Встроить скрипт виджета на прод‑сайте.
Роль: Дизайнер
- Подготовить аватар бота и цвета фирменного стиля.
- Настроить CSS‑переменные Dialogflow Messenger.
Роль: Саппорт/Оператор
- Проверить тексты подсказок и ответы на частые вопросы.
- Настроить эскалацию на живого оператора, если бот не справляется.
Безопасность и приватность (GDPR и общие рекомендации)
Important: бот собирает персональные данные (e‑mail, телефон, адрес). Обязательно учесть следующее:
- Укажите в политике конфиденциальности, какие данные собираются и как они используются.
- Минимизируйте хранение: сохраняйте только необходимые поля и ограничьте срок хранения.
- Если вы работаете с пользователями в ЕАЭС/ЕС, получите согласие на обработку персональных данных.
- Защитите экспорт данных и доступ к проекту Dialogflow через MFA и роль‑базированный доступ.
- Внешние интеграции (CRM, база заказов) должны передавать данные по HTTPS и иметь аудит логов.
Замечание: Dialogflow может сохранять логи разговоров по умолчанию. Проверьте настройки логирования и при необходимости отключите или анонимизируйте чувствительные поля.
Когда бот может ошибаться — типичные случаи и mitigations
Контрпримеры / Когда это не сработает
- Пользователь пишет длинную композицию с несколькими запросами в одном сообщении — бот может неверно разделить намерения.
- Нестандартные форматы адресов или телефонов — расширьте сущности примерами из целевого региона.
- Языковые диалекты и опечатки — добавляйте вариативные фразы в Training Phrases.
Меры по снижению ошибок
- Добавляйте примеры с опечатками и разговорными фразами в training phrases.
- Настройте fallback‑интент с эскалацией на оператора.
- Введите валидацию полей и дополнительные подсказки при некорректном вводе.
Альтернативные подходы
Если Dialogflow не подходит, рассмотрите:
- Rasa — self‑hosted решение с открытым исходным кодом и полной приватностью данных.
- Microsoft Bot Framework — если инфраструктура уже на Azure.
- Гибрид: использовать генеративную модель для свободного диалога и Dialogflow для формальных действий.
Методология быстрой итерации (мини‑метод)
- Собрать минимальные сущности и интенты для 80% сценариев (MVP).
- Запустить на небольшой группе пользователей (N=10–30).
- Собрать разговорные логи, проанализировать ошибки и добавить 10–20 новых training phrases.
- Повторять цикл каждые 1–2 недели.
SOP для производства — краткий план действий
- Версионирование агента: экспортируйте ZIP перед каждым релизом.
- Тестирование в staging‑окружении с тестовыми заказами.
- Проверка доступности виджета и времени отклика.
- Перекат в прод только после прохождения приёмочных тестов.
- Мониторинг логов и метрик (частота fallback, среднее время завершения заказа).
Частые вопросы (FAQ)
Как импортировать готовый агент из GitHub?
Откройте Settings агента → Export and Import → Import from Zip → выберите архив и нажмите Import.
Как тестировать локально виджет Dialogflow Messenger?
Создайте index.html с вставленным скриптом и запустите локальный сервер (например, python3 -m http.server 9000). Откройте страницу в браузере.
Можно ли подключить бот к Telegram или Facebook Messenger?
Да. Dialogflow поддерживает множество интеграций: Telegram, Facebook Messenger, Slack, Google Assistant и т.д. Настройка выполняется в разделе Integrations.
Как обезопасить хранение персональных данных?
Ограничьте логирование, используйте HTTPS, включите контроль доступа в Google Cloud, обновите политику конфиденциальности и получите согласие пользователей.
Краткое резюме
- Dialogflow позволяет быстро собрать чат‑бота для заказа пиццы без кодирования.
- Создайте интенты, сущности и параметры — затем протестируйте локально и встроите виджет.
- Обратите внимание на безопасность данных и настройку валидации.
Итог: начните с малого, итеративно расширяйте список фраз и сущностей, и не забывайте про приватность пользователей.
Похожие материалы
Как копировать формулы в Excel эффективно
Фокус на iPad — настройка и лучшие практики
Защитить домашний Wi‑Fi: как не дать соседям воровать интернет
Профессиональный баннер LinkedIn в Canva
Spotify Wrapped 2024 — как посмотреть и что нового