🍽️
AI, NLP, Full-Stack, Enterprise

AI-дедупликатор — 50K записей, 95% точность, часы вместо месяцев

Сеть общественного питания

AI находит дубликаты в каталоге из 50 000 позиций: понимает, что «Борщ» и «Борщ украинский» — одно блюдо. 95%+ точность. Смотреть кейс →

🟡 Средний📈 Развивается🟡 Клиентский🧠 AI3 месяца
FastAPI 0.115.6React 18.3PostgreSQL 17pgvectorGemini AIOllamasentence-transformers

О проекте

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

92K+
строк кода
144
API endpoints
21
таблиц БД
95%+
точность

Функциональность

🧠

Мультимодельный AI

Комбинация Gemini и Ollama: облачный AI для сложных задач, локальный для конфиденциальных данных.

🔍

Векторный поиск

pgvector + sentence-transformers: семантический поиск похожих блюд по смыслу, а не по тексту.

📊

Продвинутый UI

React 18 SPA: интерактивные таблицы, bulk-операции, визуализация кластеров дубликатов.

📥

Batch-обработка

Загрузка Excel/CSV, массовая обработка, очереди задач с прогрессом.

👥

Роли и права

Система ролей: оператор, аналитик, администратор. Аудит всех действий.

📈

Аналитика

Дашборды: статистика дубликатов, качество каталога, тренды нормализации.

Ключевые процессы

Пользовательские сценарии и потоки данных

Batch-обработка каталога

Полный цикл загрузки и анализа каталога рецептур.

Загрузка файла
Парсинг и валидация
Генерация эмбеддингов
Поиск дубликатов
Кластеризация
Ручная проверка
Применение

Проверка дубликата

Workflow принятия решения по кластеру дубликатов.

Просмотр кластера
AI-рекомендация
Выбор главной записи
Объединение/Отклонение
Аудит

Роли и интерфейсы

👤

Оператор

Загрузка каталогов, проверка кластеров дубликатов, подтверждение решений AI

👤

Аналитик

Просмотр дашбордов, статистика качества каталога, отчёты по нормализации

👤

Администратор

Настройка параметров AI, управление пользователями, аудит действий

Технологический стек

Backend

  • Python 3.12
  • FastAPI 0.115.6
  • SQLAlchemy 2.0
  • Pydantic v2
  • Celery

Frontend

  • React 18.3
  • TypeScript
  • Ant Design
  • TanStack Query
  • Recharts

AI/ML

  • Google Gemini
  • Ollama (локальный)
  • sentence-transformers
  • pgvector

Данные

  • PostgreSQL 17
  • pgvector extension
  • Redis
  • Alembic

DevOps

  • Docker Compose
  • Nginx
  • pytest
  • Poetry

Объём кода

92,483
строк кода
40,758
Python (backend)
51,725
TypeScript/React
🔐

Безопасность

  • Локальная обработка конфиденциальных данных через Ollama — ничего не уходит в облако
  • Полный аудит действий: кто, когда и что изменил
  • Ролевая модель доступа: оператор, аналитик, администратор
  • Версионирование изменений каталога с возможностью отката
🤖

AI-функции

  • Gemini для контекстного анализа сложных случаев
  • Ollama для локальной обработки конфиденциальных данных
  • sentence-transformers для генерации эмбеддингов
  • pgvector для быстрого поиска по косинусному сходству
  • Автоматическая кластеризация дубликатов
  • AI-подсказки для операторов при ручной проверке

⚠️Проблема

Каталог рецептур разросся до 50 000 позиций. В нём точно есть дубликаты, но найти их руками нереально.

Одно блюдо записано десятками способов: "Борщ", "Борщ украинский", "Борщ с мясом", "Борщ домашний" — простой поиск по названию не поможет.

Данные приходят из разных источников: от поставщиков в Excel, от франчайзи в CSV, из 1С — везде разные форматы.

Нужна не просто таблица дубликатов, а полноценная система: загрузка, проверка, история, роли сотрудников.

💡Решение

AI понимает смысл, а не буквы — система знает, что "Борщ украинский" и "Борщ с мясом" похожи, даже если названия разные.

Два AI-мозга — облачный Gemini для сложных случаев, локальный Ollama для конфиденциальных данных (ничего не уходит наружу).

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

Оператор только подтверждает — AI предлагает решение, человек проверяет и одобряет. Никакой ручной работы.

Полная история — кто что изменил, когда, почему. Для аудита и разбора ситуаций.

Результаты

  • Каталог из 50 000 позиций обрабатывается за несколько дней (с подтверждением человеком) вместо месяцев ручной работы.
  • Точность определения дубликатов — 95%+. Меньше ошибок, чем у живых сотрудников.
  • Данные из любых источников загружаются автоматически, без ручного форматирования.
  • Прозрачная история всех изменений для аудита и compliance.

Вот представьте...

История одного запроса

📋
Звонок от франчайзи

«У нас в меню "Борщ украинский", а в системе три варианта: "Борщ", "Борщ с мясом", "Борщ домашний". Какой ставить?» И таких звонков — каждый день. А у вас 50 000 позиций в каталоге.

😤
Excel не помогает

Пробовали выгрузить всё в таблицу. Открыли. Закрыли. Руками это не разобрать — названия разные, а блюда те же. "Салат Цезарь", "Цезарь с курицей", "Caesar salad". Три записи. Одно блюдо.

AI понял смысл

Загрузили каталог. Система прочитала не буквы — смысл. Через час выдала: «Вот 3,000 кластеров дубликатов. Первый кластер: 47 вариантов борща. Выберите главную запись.»

🔮
Наконец порядок

За неделю вместо месяцев. 95% точность — лучше, чем живые сотрудники. Конфиденциальные рецепты остались внутри — Ollama работает локально. Франчайзи больше не звонят.

Глоссарий 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-4, 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 с мониторингом и масштабированием.

Частые вопросы

Как AI понимает, что "Борщ" и "Борщ украинский" — это одно блюдо?

Система использует векторные представления (эмбеддинги) текста через sentence-transformers и pgvector. AI сравнивает не буквы, а семантический смысл названий, учитывая контекст и типичные вариации.

Можно ли использовать систему для конфиденциальных данных?

Да. Для конфиденциальных рецептур используется локальная модель Ollama — данные не покидают ваш сервер. Облачный Gemini применяется только для публичных данных или когда требуется повышенная точность.

Какой объём каталога система может обработать?

Система протестирована на каталогах до 50 000 позиций. Обработка занимает от нескольких часов до нескольких дней в зависимости от объёма и необходимости ручной верификации кластеров.

Что делать, если AI неправильно объединил записи?

Все решения AI требуют подтверждения оператором. Если ошибка обнаружена после объединения, система хранит полную историю изменений с возможностью отката.

Нужен похожий проект?

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

Обсудить проект
Автор материала
Сергей Цветков
Основатель «ДИДЖИТАЛ-ПРО ТЕХ» (Digital-Pro Tech)
20 лет в IT и бизнесе. 150+ проектов по внедрению AI и BI. Практический опыт, а не теория.
Опубликовано: 5 ноября 2025
Обновлено: 14 января 2026