Это кейс про ИИ-менеджера расчёта стоимости промо-продукции — бота, который принимает запрос клиента в Telegram и считает цену тиража сувениров с нанесением логотипа. Магазин получает поток запросов вида «посчитайте бутылку с брендингом, тираж 492 шт» — и раньше каждый такой считался вручную по прайсам десятков поставщиков.
В чём была проблема
Промо-продукция — это тысячи позиций у множества поставщиков, у каждого свой прайс и свои правила нанесения. Клиент пишет свободным текстом, часто без артикула: «платки 50×50, искусственный шёлк, 10–20 шт», «стикеры-закладки, 350 шт, 1 цвет». Менеджер тратит время на поиск товара и расчёт, а мелкие запросы отвлекают от крупных сделок. Отсюда и родилась идея оценивать средний чек запроса: мелочь отдать боту, крупное — менеджеру.
Решение: NER + прайсы поставщиков + LLM
Пайплайн из трёх частей. Сначала запрос разбирает NER на SpaCy — вытаскивает тип товара, тираж, цвет, параметры нанесения. Затем ищем товар в прайсах поставщиков, которые загружаются по расписанию через Celery — XML-фиды разбираем через xmltodict, Excel-прайсы через openpyxl:
import xmltodict
with open(feed_path, encoding="utf-8") as f:
data = xmltodict.parse(f.read())
for item in data["catalogue"]["product"]:
upsert_product(article=item["@id"], name=item["name"],
price=item["price"])Дальше LLM (GigaChat или локальная модель через Ollama) собирает из найденного товара, тиража и правил нанесения человекочитаемый расчёт и отвечает клиенту в Telegram через aiogram.
Почему NER, а не только LLM
Прогонять каждый запрос и весь поток номенклатуры через большую LLM дорого и медленно. Быстрый разбор запроса берёт на себя SpaCy, а LLM подключается там, где нужен именно язык — собрать итоговый расчёт и ответ. Ту же связку мы отдельно разбираем в кейсе про извлечение характеристик товара из наименования — это как раз кусочек этого большого проекта.
Актуальность прайсов
Цены у поставщиков меняются, поэтому прайсы не грузятся руками: Celery по расписанию забирает свежие XML- и Excel-фиды и обновляет базу. Так бот считает по актуальным ценам, а не по прайсу месячной давности. Про массовую обработку прайсов есть отдельная статья — обработка 12 000 позиций за 20 секунд.
Хотите ИИ-менеджера под свой магазин
Если ваши продавцы вручную считают запросы по прайсам поставщиков — это автоматизируется: разбор запроса, поиск товара, расчёт и ответ клиенту. Как собрать такой пайплайн на NER и LLM, разбираем на курсе по ChatGPT и нейросетям для 1С.