SiteLab

AI для e-commerce

AI-подбор сувениров по задаче и бюджету

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

OpenCart 2.3PHP 7.2MySQLQwen EmbeddingsDeepSeekHybrid SearchBinary Vector IndexVariant Grouping
AI-подбор товаров на сайте Ermakov Media
3 070

канонических моделей вошли в смысловой индекс

1 024

измерения вектора для поиска по смыслу

≈22 МБ

занимает закрытый runtime-индекс на сервере

60,87 BYN

стоимость проверочного набора при бюджете 70 BYN

Задача

Убрать из выбора сотни похожих карточек, не ломая каталог

Один ежедневник, ручка или футболка мог существовать как несколько товаров — по карточке на каждый цвет и размер. Для OpenCart это нормальные SKU с разными остатками, но посетитель видел повторы и должен был вручную перебирать фильтры.

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

Свободный запрос вместо знания фильтров
Одна модель вместо цветовых дублей
Актуальные цена и наличие
Набор из нескольких категорий

Подготовка каталога

До AI навели порядок в товарных данных

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

Группы вариантов

Связали карточки одной модели: цвет и размер больше не создают десятки одинаковых результатов, но каждый SKU сохраняет свой URL, изображение и остаток.

Нормализованные свойства

Привели цвета и материалы к базовым значениям для фильтров. Исходные характеристики поставщика не теряются и продолжают участвовать в поиске.

Совместимость с импортом

Группировка и AI-индекс строятся поверх каталога OpenCart. Обновление поставщика не создаёт второй источник истины и не требует ручной правки AI-базы.

Что изменилось для клиента

Один результат — все доступные цвета внутри

В листинге остаётся одна карточка модели. Варианты раскрываются при наведении, меняют изображение, цену и наличие без перезагрузки, а из поиска ведут на конкретный выбранный SKU. Эту же структуру использует AI.

Объединённые цветовые варианты товара в каталоге Ermakov Media

Архитектура

AI предлагает, каталог подтверждает

Языковые модели отвечают за понимание смысла и композицию набора. Факты — товары, варианты, цены, остатки и бюджет — остаются под контролем кода и OpenCart.

01

Собираем модель из вариантов

Цвета и размеры остаются самостоятельными SKU с собственными остатками, но для поиска образуют одну каноническую модель.

02

Строим офлайн-индекс

Экспорт объединяет название, категории, характеристики и варианты. Qwen считает embedding только для новых или изменившихся записей.

03

Ищем гибридно

Семантическая близость дополняется точными совпадениями по названию, категории и атрибутам — смысловой поиск не отменяет факты каталога.

04

Перепроверяем перед показом

Для лучших кандидатов цена, наличие и доступные варианты читаются из OpenCart в момент запроса, а не принимаются из старого индекса.

Сборка набора

«Блокнот, ручка и кружка до 70 рублей» — это три поиска и одна проверка

Запрос разбирается на обязательные части. Для каждой одним пакетным вызовом строится embedding, кандидаты объединяются, а DeepSeek предлагает комплект только из переданных идентификаторов.

После модели код ещё раз проверяет покрытие компонентов и сумму. Комбинированный товар может закрыть несколько частей: в контрольном сценарии блокнот уже включал ручку, поэтому итоговый набор состоит из двух карточек и стоит 60,87 BYN.

Свободный диалог с AI, но детерминированный финальный контроль.

AI собрал подарочный набор в заданном бюджете

Production

Встроили AI в старый OpenCart без тяжёлой локальной модели

На сервере около 1,7 ГБ RAM, поэтому локальная embedding-модель создала бы риск остановки магазина. Векторы считаются внешним Qwen API, а готовый компактный индекс читает совместимый с PHP 7.2 runtime.

≈0,9 с

повторный запрос из 30-минутного кэша

0 PII

в анонимном журнале событий

Защитные ограничения

модель не может придумать товар, идентификатор или цену
набор повторно проверяется по обязательным компонентам и бюджету
при недоступности embeddings остаётся поиск по ключевым словам
API-ключи и индекс хранятся вне публичной директории
в журнал не пишутся тексты запросов, контакты и IP-адреса

Реальный интерфейс

Поиск, набор и варианты товара

Проверить на сайте
Результаты AI-поиска ежедневников до 25 рублей

Запрос вместо ручного перебора фильтров

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

AI собрал набор из блокнота, ручки и кружки в бюджете

Комплект из нескольких категорий

Комбинированный блокнот с ручкой закрывает две части запроса, кружка — третью. Итоговая сумма проверена после ответа модели.

Цветовые варианты одной модели товара Ermakov Media

Одна модель вместо пяти дублей

Каждый цвет сохраняет собственную карточку и остаток, но в листинге и AI-поиске модель не размножается.

Пользовательские сценарии

Один интерфейс для трёх разных способов выбирать

AI-подбор не заставляет клиента учить структуру каталога. Он принимает и точный товарный запрос, и свободное описание задачи, и список компонентов будущего набора.

01

Найти конкретный товар

«Тёмно-синий ежедневник до 25 рублей»

Система понимает тип товара, цвет и ценовое ограничение, затем показывает только реальные модели с доступными вариантами.

02

Подобрать идею под событие

«Недорогие подарки сотрудникам на Новый год»

Смысловой индекс находит релевантные категории даже тогда, когда слова из запроса буквально отсутствуют в названии товара.

03

Собрать комплект

«Блокнот, ручка и кружка до 70 рублей»

AI предлагает совместимый набор, а сервер проверяет наличие каждого компонента и общую сумму перед показом результата.

Клиенту

быстрее перейти от задачи к подходящим товарам

Менеджеру

получать запрос уже с бюджетом и выбранным набором

Магазину

использовать текущий каталог без второй товарной базы

Итог

Один каталог теперь поддерживает и привычные фильтры, и подбор обычным языком

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

Готовы начать?

Давайте обсудим ваш проект

Расскажите о вашей задаче — ответим в течение часа, предложение подготовим бесплатно.