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

канонических моделей вошли в смысловой индекс
измерения вектора для поиска по смыслу
занимает закрытый runtime-индекс на сервере
стоимость проверочного набора при бюджете 70 BYN
Задача
Один ежедневник, ручка или футболка мог существовать как несколько товаров — по карточке на каждый цвет и размер. Для OpenCart это нормальные SKU с разными остатками, но посетитель видел повторы и должен был вручную перебирать фильтры.
При этом каталог регулярно обновляется из выгрузок поставщиков. Решение должно было сохранить текущую админку, URL, импорт и карточки, работать на сервере с небольшим объёмом памяти и никогда не показывать выдуманную цену или отсутствующий товар.
Подготовка каталога
Добавить чат поверх необработанной выгрузки было недостаточно. Сначала мы сделали устойчивый товарный слой: научили магазин узнавать одну модель в разных цветах, нормализовали фильтры и сохранили связь с ежедневным обновлением поставщика.
Связали карточки одной модели: цвет и размер больше не создают десятки одинаковых результатов, но каждый SKU сохраняет свой URL, изображение и остаток.
Привели цвета и материалы к базовым значениям для фильтров. Исходные характеристики поставщика не теряются и продолжают участвовать в поиске.
Группировка и AI-индекс строятся поверх каталога OpenCart. Обновление поставщика не создаёт второй источник истины и не требует ручной правки AI-базы.
Что изменилось для клиента
В листинге остаётся одна карточка модели. Варианты раскрываются при наведении, меняют изображение, цену и наличие без перезагрузки, а из поиска ведут на конкретный выбранный SKU. Эту же структуру использует AI.

Архитектура
Языковые модели отвечают за понимание смысла и композицию набора. Факты — товары, варианты, цены, остатки и бюджет — остаются под контролем кода и OpenCart.
Цвета и размеры остаются самостоятельными SKU с собственными остатками, но для поиска образуют одну каноническую модель.
Экспорт объединяет название, категории, характеристики и варианты. Qwen считает embedding только для новых или изменившихся записей.
Семантическая близость дополняется точными совпадениями по названию, категории и атрибутам — смысловой поиск не отменяет факты каталога.
Для лучших кандидатов цена, наличие и доступные варианты читаются из OpenCart в момент запроса, а не принимаются из старого индекса.
Сборка набора
Запрос разбирается на обязательные части. Для каждой одним пакетным вызовом строится embedding, кандидаты объединяются, а DeepSeek предлагает комплект только из переданных идентификаторов.
После модели код ещё раз проверяет покрытие компонентов и сумму. Комбинированный товар может закрыть несколько частей: в контрольном сценарии блокнот уже включал ручку, поэтому итоговый набор состоит из двух карточек и стоит 60,87 BYN.
Свободный диалог с AI, но детерминированный финальный контроль.

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

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

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

Каждый цвет сохраняет собственную карточку и остаток, но в листинге и AI-поиске модель не размножается.
Пользовательские сценарии
AI-подбор не заставляет клиента учить структуру каталога. Он принимает и точный товарный запрос, и свободное описание задачи, и список компонентов будущего набора.
«Тёмно-синий ежедневник до 25 рублей»
Система понимает тип товара, цвет и ценовое ограничение, затем показывает только реальные модели с доступными вариантами.
«Недорогие подарки сотрудникам на Новый год»
Смысловой индекс находит релевантные категории даже тогда, когда слова из запроса буквально отсутствуют в названии товара.
«Блокнот, ручка и кружка до 70 рублей»
AI предлагает совместимый набор, а сервер проверяет наличие каждого компонента и общую сумму перед показом результата.
Клиенту
быстрее перейти от задачи к подходящим товарам
Менеджеру
получать запрос уже с бюджетом и выбранным набором
Магазину
использовать текущий каталог без второй товарной базы
Итог
Мы не заменяли работающий магазин чат-ботом. AI стал дополнительным входом в тот же каталог: помогает сформулировать выбор, но использует реальные товары, варианты, цены и остатки существующей системы.
Готовы начать?
Расскажите о вашей задаче — ответим в течение часа, предложение подготовим бесплатно.