SKU Matcher — AI-подбор артикулов по входящим заявкам
Продукт для B2B-дистрибуции (заказчик под NDA)
AI-сопоставление позиций из заявок (Excel, PDF, фото, текст) с каталогом в сотни тысяч SKU: эмбеддинги + BM25 + LLM-верификация. Смотреть кейс →
SKU Matcher сопоставляет позиции из входящих заявок с товарным каталогом на сотни тысяч артикулов. Заявка приходит как угодно: Excel, PDF, фото, свободный текст из письма. Gemini извлекает атрибуты (тип изделия, DN, PN, материал, резьба), гибридный поиск — векторный (pgvector) + BM25 + fuzzy с RRF-слиянием — находит кандидатов, скоринг по атрибутам присваивает уверенность HIGH/MEDIUM/LOW. Менеджер подтверждает, а не ищет руками.
Что реализовано.
Любой формат заявки
Excel, PDF, Word, фото (Gemini Vision OCR) и свободный текст — единый пайплайн обработки.
LLM-grounding
Gemini извлекает из строки заявки атрибуты: тип, DN, PN, материал, резьба. Единицы нормализуются.
Гибридный поиск с RRF
Векторный поиск (pgvector, 1536-мерные эмбеддинги) + BM25 + fuzzy, слияние через Reciprocal Rank Fusion.
Уверенность HIGH/MEDIUM/LOW
Атрибутный скоринг со штрафами за несовпадение DN/PN. HIGH ≥ 75% — подтверждение в один клик.
Контур обучения
Корректировки менеджера и отклонённые пары копятся в feedback — система настраивается по категориям.
Синхронизация с ERP
Каталог и атрибуты подтягиваются из ERP клиента (Microsoft Dynamics NAV), 192K+ строк атрибутов.
Ключевые сценарии.
Пользовательские сценарии и потоки данных
Обработка заявки
От файла до подтверждённых позиций.
Загрузка каталога
Синхронизация и индексация всего каталога SKU.
Контур обучения
Как система становится точнее.
Роли и интерфейсы.
Менеджер по продажам
Загрузка заявок, подтверждение HIGH-совпадений, выбор альтернатив
Категорийный менеджер
Настройка атрибутов, весов, синонимов и приоритетов по категориям
Администратор
Загрузка каталога, пользователи, мониторинг AI-задач, аудит
Технологический стек.
- Python 3.12
- FastAPI
- SQLAlchemy 2.0 (async)
- 73 endpoints
- 22 миграции Alembic
- Gemini (grounding + Vision)
- gemini-embedding-001 (1536d)
- RRF-слияние
- атрибутный скоринг
- PostgreSQL 17 + pgvector
- MinIO (S3)
- 16+ таблиц
- Next.js 15
- React 19
- TypeScript
- Radix UI
- Tailwind CSS 4
- Docker Compose
- Traefik
- golden-тесты на эталонных заявках
Объём кода.
Безопасность
- JWT-аутентификация с refresh-токенами
- Защита от перебора паролей (учёт попыток входа)
- Аудит-лог действий пользователей
- Файлы заявок в приватном S3-хранилище
AI-функции
- Извлечение структурированных атрибутов из свободного текста (Gemini grounding)
- Распознавание заявок с фотографий (Gemini Vision)
- Векторный поиск по эмбеддингам каталога (1536 измерений, pgvector)
- Гибридное ранжирование: вектор + BM25 + fuzzy через RRF (k=60)
- Confidence-скоринг с порогами HIGH ≥ 75% / MEDIUM 35–74% / LOW
Проблема
Сотни заказов в день; в заявках позиции описаны как попало: «кран шар. фл. ду50 ру16» — а в каталоге сотни тысяч SKU.
Менеджеры вручную искали каждую позицию по каталогу — на сложную заявку уходили часы.
Заявки приходят в любом виде: Excel, PDF, Word, фото с телефона, текст в письме.
Опечатки, синонимы и разные единицы измерения (дюймы vs DN, МПа vs бар) ломали обычный поиск.
Решение
Парсинг любого входа — XLSX/XLS, DOCX, PDF, фотографии (распознавание через Gemini Vision) и свободный текст.
LLM-grounding (Gemini) — из строки «кран шар. фл. ду50 ру16» извлекаются структурированные атрибуты: тип изделия, DN, PN, материал корпуса, тип присоединения; единицы нормализуются (МПа ↔ бар, дюймы ↔ DN).
Гибридный поиск — три метода параллельно: векторный (эмбеддинги, 1536 измерений в pgvector), полнотекстовый BM25 на русском и trigram fuzzy; результаты сливаются через Reciprocal Rank Fusion.
Атрибутный скоринг — кандидаты проверяются по ключевым и вторичным атрибутам со штрафами за несовпадение DN/PN и типа изделия; наличие на складе даёт буст.
Уверенность HIGH / MEDIUM / LOW — HIGH (≥ 75%) менеджер подтверждает одним кликом, MEDIUM проверяет альтернативы, LOW сигнализирует о проблеме.
Контур обучения — корректировки менеджеров и отклонённые пары сохраняются (feedback), категории настраиваются: веса атрибутов, синонимы, стоп-слова.
Результаты
- Подбор позиций по заявке — минуты вместо часов: менеджер контролирует результат, а не ищет вручную.
- Целевая доля HIGH-совпадений 60–70% достигается на категориях с полным обогащением атрибутов.
- Любой формат заявки на входе — единый структурированный результат на выходе.
- Каталог в сотни тысяч SKU синхронизируется с ERP клиента автоматически.
Вот представьте…
История одного запроса
В почте заявка: Excel на 40 строк. «Кран шар. фл. ду50 ру16», «затвор диск. поворотн. DN80», «отвод 90 гр. 57х3.5». Менеджер открывает каталог — сотни тысяч артикулов. И начинает искать. Строка за строкой.
Половина позиций найдена. По остальным — сомнения: ДУ50 это DN50 или 2 дюйма? Сталь 20 подойдёт вместо 09Г2С? Клиент тем временем отправил ту же заявку конкуренту. Кто первый ответит с ценами — тот и заберёт заказ.
Заявка загружается как есть — Excel, PDF, хоть фото со склада. Gemini разбирает каждую строку на атрибуты, гибридный поиск прочёсывает каталог тремя методами сразу. На экране: 28 позиций зелёные (HIGH, ≥ 75%), 9 жёлтых с альтернативами, 3 красные — «уточнить у клиента».
Зелёные подтверждаются одним кликом. По жёлтым — выбор из предложенных альтернатив. Ответ клиенту уходит за минуты, а не часы. А каждая корректировка менеджера делает систему точнее на следующей заявке.
Глоссарий AI-терминов
Ключевые понятия для понимания проекта
GEO-оптимизация
GEOОптимизация контента для AI-поисковиков (ChatGPT, Perplexity, Claude).
AI-агенты
AI-AGENTSАвтономные AI-системы, выполняющие задачи самостоятельно без контроля человека.
E-E-A-T
EEATКритерии Google: опыт, экспертиза, авторитетность, надёжность. Важны для SEO и GEO.
LLM (Large Language Model)
LLMНейросеть для понимания и генерации текста (GPT-5, Claude, Gemini).
RAG (Retrieval-Augmented Generation)
RAGТехнология для работы AI с вашими данными: документами, базами знаний.
Промпт (Prompt)
PROMPTТекстовая инструкция для AI. Качество промпта = качество результата.
MVP (Minimum Viable Product)
MVPМинимальная версия продукта для проверки гипотезы на пользователях.
Технологический стек
TECH-STACKНабор технологий проекта: языки, фреймворки, базы данных, облако.
Интеграция
INTEGRATIONСвязывание AI с системами компании: CRM, ERP, 1C, мессенджеры.
Развёртывание (Deployment)
DEPLOYMENTЗапуск решения в production с мониторингом и масштабированием.
Частые вопросы.
Excel (XLSX/XLS), Word (DOCX), PDF, фотографии (PNG/JPG — распознаются через Gemini Vision) и свободный текст из письма. Все форматы проходят через единый пайплайн: парсинг → извлечение атрибутов → поиск → скоринг.
Три метода параллельно: векторный поиск по эмбеддингам (1536 измерений в pgvector), полнотекстовый BM25 на русском языке и trigram fuzzy для опечаток. Результаты сливаются через Reciprocal Rank Fusion, затем кандидаты проверяются по атрибутам (DN, PN, материал) со штрафами за несовпадения.
Это уверенность сопоставления по атрибутному скорингу. HIGH (≥ 75%) — менеджер подтверждает одним кликом; MEDIUM (35–74%) — стоит посмотреть альтернативы; LOW — ключевой атрибут не совпал, нужна проверка. Цель — 60–70% позиций в HIGH на категориях с полным обогащением.
Да. Каждая корректировка менеджера сохраняется как feedback-пара, по категориям настраиваются веса атрибутов, синонимы и стоп-слова. Качество контролируется golden-тестами на эталонных заявках.
Обсудим вашу задачу
Расскажите о вашей задаче — обсудим, как мы можем помочь. Рекомендации предоставляем по запросу.