Google Таблицы для AI-ассистента
В этой статье мы разберём, как бот может читать данные из Google Таблиц и использовать их в AI-ассистенте
Благодаря функции, разработанной командой Mavibot, AI-чатбот точно интерпретирует значения, введённые в таблицу, а затем сохраняет их в системную переменную в настройках проекта.
Например, это может понадобиться для AI-ассистента, который будет консультировать ваших клиентов по доступному ассортименту товаров в вашем интернет-магазине, а также для демонстрации ваших возможностей с помощью умного бота.
То, как именно использовать бота для чтения таблицы Google, зависит от вас, а мы, в свою очередь, покажем, как создать таблицу и настроить работу бота с ней.
Подготовка таблицы Google
Создание и заполнение
Откройте редактор таблицы:

Вам нужно заполнить строки категориями столбцов:

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

Рассмотрим категорию столбца «Единица измерения»:

Единица измерения может включать:
Количественный показатель в виде штук/единиц (одна единица товара, две единицы товара, одна штука и т. д.):

Единицы измерения величин: литры, килограммы, граммы, метры:

Бот прекрасно поймёт, что вы имели в виду, и использует значения, вложенные в слоты.
Заключительным шагом в заполнении таблицы Google будет ввод цены за единицу измерения.

На этом этапе таблица Google готова.
Настройки доступа
Чтобы AI-бот мог брать значения из таблицы, нужно открыть настройки доступа:

Нажмите на настройки, и откроется следующее окно:

Здесь нужно изменить настройку с «Доступ ограничен» на «Все, у кого есть ссылка»:

ID таблицы
Для работы с функцией get_info_from_table(!sheet_id, number_sheet, sheet_json_keys) нам понадобится ID таблицы, поскольку функция принимает sheet_id как обязательный параметр.
Чтобы получить ID, просто нажмите на адресную строку:

Вы увидите строку с адресом страницы:

Из которой нам понадобится набор символов и букв, а именно ID таблицы:

На этом работа с таблицей и её настройка завершены.
Работа в конструкторе воронки
Использование функции get_info_from_table()
Чтобы использовать функцию get_info_from_table(), вам понадобится один блок в конструкторе воронки.
Перейдите на соответствующую вкладку в Mavibot и создайте основной блок проверки условия:

Вместо #{none} мы запишем в сообщение уведомление для тестового режима после запуска этого блока и вложенную переменную через конструкцию #{}:

Обратите внимание!
Переменная, вложенная в сообщение, необходима для проверки того, что бот читает функцию.
При запуске блока в тестовом режиме бот покажет значения, которые будут вложены в переменную.
Обратите внимание!
После настройки вызова блока в тестовом режиме и сохранения переменной в настройках проекта не удаляйте этот блок.
Это может вам понадобиться: например, если вы добавили в таблицу ещё какие-то значения, просто запустите блок в тестовом режиме. Тогда данные в переменной проекта обновятся.
Имя переменной может быть любым, которое вам подходит.
Далее нам нужна функция get_info_from_table(sheet_id, number_sheet, sheet_json_keys), — функция, предназначенная для чтения данных из таблицы.
! sheet_id
ID таблицы Google
number_sheet
Номер листа в таблице; по умолчанию = 1
sheet_json_keys
Необязательный параметр, ключ доступа к данным таблицы
Откройте калькулятор и введите ID таблицы, заключив его в переменную (например, sheet):

Далее присвойте переменной, указанной в сообщении блока, значение в виде функции get_info_from_table() с обязательным параметром sheet_id (вместо него вставьте переменную sheet, где находится ID таблицы):

Внимание! Перед переменной product_pay_info в калькуляторе напишите project. Это необходимо для того, чтобы ПЕРЕМЕННАЯ и ЗНАЧЕНИЯ из таблицы были сохранены в настройках проекта (кэшированы):

Теперь напишите любое слово/числа в условии блока:

Блок передачи данных
Далее создайте второй статусный блок:

Этот статусный блок понадобится для передачи переменных в карточку клиента.
Вы также можете отправить в этом блоке итоговое сообщение от бота, например: «Спасибо за заказ! Отправляю данные менеджеру по связи!»:

Далее скопируйте ID блока — он понадобится вам для настройки AI-ассистента в команде "start_block_from_ai 31241050", где вместо ID из примера нужно вставить ID вашего блока.
Чтение таблицы
Теперь запустите блок в тестовой версии, чтобы чатбот прочитал значения из таблицы и поместил их в вашу переменную в настройках проекта:

Таким образом, блок отработал корректно: вы видите значения, которые прочитали, и которые находятся в переменной в настройках проекта.
Вы можете проверить это, перейдя в соответствующий раздел:

Далее вы увидите вашу переменную со значениями, вложенными в неё из таблицы:

Итак, теперь внутри вашего проекта есть переменная с товарами, стоимостью и всем тем, что вы указали в таблице.
Работа в качестве AI-ассистента
Перейдите в раздел «AI-ассистент» и начните настраивать искусственный интеллект.
Роль ассистента: продавец

Также мы настроим опции «Кнопки» и «Поэтапный ввод данных»:

Кнопки нам понадобятся для визуально оформленных ответов от бота, а также для удобства клиента (тогда вашему пользователю не нужно вручную вводить слова в диалоге); поэтапный ввод данных нужен для того, чтобы бот опрашивал формируемый заказ.
Настройки AI-ассистента
В настройках бота мы прописываем следующие данные:
Позиция и инструкции для бота.
Пример:
<Ты продавец магазина. «Все мелочи. Твоя задача — спросить клиента, какой товар он хочет выбрать, сколько единиц товара ему нужно, а затем рассчитать общую стоимость товара, равную количеству единиц товара, умноженному на стоимость.
После того как ты опросишь клиента о его покупке, продублируй ему заказ и спроси: «Заказ верный?».>
Обратите внимание на строку «Рассчитать общую стоимость товара, равную количеству единиц товара, умноженному на стоимость» — эта строка будет выводить итоговый результат стоимости всех выбранных клиентом категорий:
Пример:
Клиент выбрал три кг одного товара. Бот, в свою очередь, рассчитывает общую стоимость:

Команда для вызова блока и передачи переменных в систему записывается следующим образом:
<Если клиент написал «Заказ верный» или «Верно», тогда напиши "start_block_from_ai N">, где вместо N указывается ID блока с итоговым сообщением: статусный блок передаёт данные в карточку клиента:

Команды в настройках AI-ассистента выглядят так:

Знания бота
В поле «Знания бота» передайте переменную, которая была ранее кэширована основным блоком проверки условия:

Знания бота:

Так бот будет брать информацию из переменной в настройках проекта и консультировать ваших клиентов по доступному ассортименту товаров.
Формат данных
В формате передаваемых данных вы сами указываете собираемые данные (например, товар), затем вводите фразу с «ключом» и присваиваете ключу значение:

Пояснение
Строка 1: «Формат передаваемых данных: товар с ключом product, единица измерения с ключом thing, цена с ключом count, общая стоимость всех выбранных товаров с ключом result» — даёт боту понять, какие данные и с каким значением нужно передать в систему.
Эти переменные будут отображаться в карточке клиента:

Если вам нужно, чтобы каждый выбранный клиентом товар отображался отдельно, добавьте вторую строку:
«Если клиент выбрал несколько товаров, тогда добавьте первый товар с ключом product1, второй товар с ключом product2, третий товар с ключом product3 и так далее».
На этом настройка AI-ассистента завершена.
Остальные параметры можно настроить по своему усмотрению:

Тестирование бота
Используйте конструктор условий, чтобы добавить работу бота в тестовом окне:
Шаг 1. Нажмите на конструктор условий

Шаг 2. Выберите вкладку с текстовым полем и нажмите «Добавить»:

Теперь в условии запуска вы видите следующее значение:

Таким образом, бот будет запускаться только в тестовом окне и нигде больше.
После отладки бота удалите это условие.
Теперь протестируем бота:
Зададим боту вопрос по ассортименту товаров:

Бот показал разнообразие товаров, которые были введены в таблицу Google, извлекая значения из переменной, содержащейся в настройках проекта.
Далее выберем товар и пообщаемся с умным ботом:


Выберем другой товар:

Бот также отображается корректно, показывая клиенту категории товаров для последующего выбора.
Клиент выбрал несколько товаров и указал их количество:


Бот рассчитал стоимость выбранных позиций и подсчитал общую сумму.
Отправка данных в систему:

Результат: после того как бот продублировал заказ и клиент ответил, что заказ верный, чатбот на основе настроек вызвал блок «Статус диалога»:

После этого данные, сформированные ботом в диалоге с клиентом, были отправлены в карточку клиента:

Бот отработал всё корректно.
Таким образом можно создать интернет-магазин любого типа и использовать внутри таблицы любые необходимые значения.
Главное ограничение — только ваша фантазия!
Видео-гайд
Последнее обновление