Пошагово: подключение Google Sheets, структура таблицы, промт для работы с SQL, квалификация запроса, неточный/векторный поиск, ошибки и тесты.
Таблицы в Savvy (Google Sheets): как подключить прайс/каталог и заставить бота находить нужное через SQL и неточный поиск
Если вы делаете бота “под продажи” (магазин, услуги, автосервис, недвижимость), то в какой-то момент упираетесь в вечную боль:
- товаров/услуг много,
- цены и наличие меняются,
- а “запихивать всё в промт” — дорого и нестабильно.
И вот тут таблицы в Savvy — это как перейти с записной книжки на CRM:
бот начинает отвечать не из фантазии, а из структурированных данных.
Сегодня сделаем так же, но по шагам:
- когда таблица лучше базы знаний,
- как собрать “правильную” Google-таблицу,
- какой блок промта нужен, чтобы бот стабильно формировал SQL,
- как делать неточный/векторный поиск, если запросы “кривые”,
- и как тестировать, чтобы бот не путал позиции.
👉 Хотите повторить на практике? Зарегистрируйтесь в Savvy/Suvvy — на тест дают 500 ₽:
https://suvvy.ai/ru?partner_id=685236b9a8dcab34edfb63fc
Таблица или база знаний: что выбрать
Таблица нужна, если у вас данные “как прайс”:
- каталог товаров / SKU
- цены
- наличие
- комплектации
- сроки
- характеристики в виде полей (мощность, материал, размер, цвет)
База знаний нужна, если у вас “текст”:
- регламенты
- FAQ
- политика доставки/возврата
- инструкции
- большие статьи
Простой критерий:
если вы можете представить данные в колонках → таблица.
если это “человеческий текст” → база знаний.
Как подключить Google Sheets в Savvy (логика процесса)
Обычно это делается так:
- В разделе Таблицы выбираете подключение Google Sheets.
- Авторизуетесь в Google.
- Выбираете нужную таблицу.
- Проверяете, что бот “видит” поля и может выполнять запросы.
Самый важный момент: таблица должна быть подготовлена. Иначе бот будет искать “в каше”.
“Правильная” структура таблицы
Вот шаблон колонок, который реально работает в 80% кейсов:
- id (уникальный ID / артикул)
- name (название позиции)
- category (категория)
- brand (бренд)
- price (число)
- availability (в наличии/нет/под заказ)
- url (ссылка на карточку/объявление)
- short_desc (1–2 строки)
- tags (синонимы, ключевые слова через запятую)
Если это услуги — вместо availability можно duration / city / format.
Если недвижимость — district, rooms, area, price, condition, url.
Зачем tags?
Чтобы бот находил “тонаровку” даже если у вас в таблице “тонировка стекол”, или “полуавтомат” даже если клиент пишет “сварочник”.
Подготовка таблицы: 7 правил, чтобы бот не путался
- Один товар = одна строка.
- Единый формат цены: только число (без “руб.” и пробелов).
- Категории нормализуйте: не “сварка/сварочное/сварочное оборудование” в трёх вариантах — выберите один.
- Без дублей названий: “X5” и “BMW X5” должны быть разведены тегами, а не хаосом.
- Синонимы и “народные названия” — в tags.
- Пустые важные поля убирайте: лучше “—” или “нет данных”, чем пустота (бот начинает додумывать).
- Ссылки храните в url, а не в тексте описания.
Самая частая ошибка: бот делает SQL “в лоб” без квалификации
Клиент пишет:
“У меня BMW X5, сколько стоит тонировка?”
Если бот сразу ломится в таблицу, он может:
- не понять модель,
- перепутать услугу,
- сделать слишком широкий запрос,
- и вернуть мусор.
Правильно: сначала 1–2 уточняющих вопроса, затем SQL.
Готовый блок промта: как заставить бота правильно работать с таблицей
Скопируйте это в инструкцию (адаптируйте названия колонок под свою таблицу):
Работа с таблицей (каталог/прайс)
- Перед запросом к таблице уточни 1–2 ключевых параметра, если запрос клиента не полный (модель/категория/город/тип услуги).
- Не выдумывай цены и наличие — бери только из таблицы.
- Если найдено 0 результатов → предложи 2 уточняющих вопроса или 2 ближайшие альтернативы (по категории/бренду/тегам).
- Если найдено много результатов → покажи 3 лучших варианта и спроси, какой выбрать.
- В ответе всегда показывай: название, цену, наличие (если есть), ссылку (url).
- Если клиент просит “самое дешёвое/лучшее” → делай сортировку по price или релевантности.
Формирование запроса
- Используй SQL-запрос к таблице, чтобы искать по name, category, brand, tags.
- Приоритет совпадений: точное совпадение → tags → частичное совпадение в name.
Примеры SQL-логики (человеческим языком)
Я не буду грузить “технической простынёй”, но вот как мыслит хороший запрос:
Пример 1: Поиск по ключевому слову
Если клиент пишет “полуавтомат старт” → ищем в name и tags похожие слова.
Пример 2: Фильтр по категории и бренду
“Нужна дрель Makita” → category = дрели и brand = Makita.
Пример 3: Топ-3 варианта
Если результатов много — сортируем:
- по наличию (сначала “в наличии”)
- затем по цене (по возрастанию) или по “популярности”, если у вас есть такое поле.
Главное: не пытайтесь в промте описать 50 вариантов SQL.
Описывайте правила принятия решения — и тестируйте.
Неточный/векторный поиск по таблице: когда он спасает
Есть запросы, которые клиент пишет “как человек”, а не как ваш каталог:
- “мне x5 сделать тонер”
- “нужен полуавтомат нормальный для нержи”
- “сварочник чтобы не плевался”
Если в вашей версии Savvy доступен неточный/векторный поиск по таблице, это супер-режим:
бот ищет не только по совпадению слов, но и по смысловой близости.
Когда включать
- много брендов/моделей/синонимов
- клиенты пишут “криво”
- у вас большой ассортимент
Когда не надо
- если таблица маленькая и всё совпадает точно
- если критична стопроцентная точность “артикул → артикул”
Практический лайфхак:
даже с векторным поиском всё равно держите tags. Это ускоряет и стабилизирует попадания.
Как сделать так, чтобы бот не “галлюцинировал” цены
Добавьте в промт железное правило:
- “Если цены/наличия нет в таблице — скажи, что нужно уточнить, и предложи вызвать менеджера.”
И обязательно тестируйте “пустые” случаи:
- “А есть скидка?”
- “А сколько будет доставка?”
- “А когда будет в наличии?”
Если это не хранится в таблице — бот должен не придумывать.
Тест-пак: 12 сообщений, чтобы проверить таблицу за 15 минут
- “Сколько стоит X?” (точное название)
- “Сколько стоит (синоним)?”
- “Есть в наличии X?”
- “Покажи варианты в категории Y”
- “Самое дешёвое в категории Y”
- “Самое мощное/лучшее”
- “Не могу выбрать, посоветуй”
- “У меня (модель/бренд), что подходит?”
- “Аналог подешевле”
- “0 результатов” (специально странный запрос)
- “Скинь ссылку”
- “Оформим заказ”
Если бот:
- находит правильное,
- не лепит фантазию,
- не тонет в 20 вариантах,
— таблица настроена правильно.
Таблица — это самый быстрый способ сделать бота “как продавца”, а не “как болтуна”.
👉 Создайте тестового чат-бота в Savvy/Suvvy (500 ₽ на тест), подключите Google Sheets и прогоните 12 тестов:
https://suvvy.ai/ru?partner_id=685236b9a8dcab34edfb63fc