01 — Кейс · ML Нейросети

Интеллектуальная платформа данных с Multi-RAG для оптового дистрибьютора

Мы разработали платформу данных для оптовой дистрибуционной компании, которая работает в трёх странах. Платформа объединила 14 систем — от SAP ERP и Salesforce до порталов поставщиков и таблиц — и отвечает на вопросы сотрудников, заданные обычными словами. AI-агенты направляют каждый вопрос в один из трёх контуров: CAG, RAG или GraphRAG. Сложный вопрос, на который раньше уходили часы, теперь получает ответ в среднем за 1,8 секунды.

6 месяцевNDA
Обновлено:
Смотреть кейс
срок проекта
6 месяцев
функциональных модулей
8
этапов разработки
4
ключевых технологий
10
Интеллектуальная платформа данных с Multi-RAG для оптового дистрибьютора

02 — Контекст

Задача проекта

Исходная ситуация, ограничения и проблемы, которые должна была решить новая система.

Оптовая дистрибуционная компания среднего размера с операциями в трёх странах пришла к нам в конце 2024 года. Её данные были разбросаны по 14 системам: SAP ERP, Salesforce CRM, биллинг Stripe, складская система, системы перевозчиков, порталы поставщиков и множество таблиц.

Чтобы ответить на бизнес-вопрос, приходилось вручную выгружать данные, писать SQL и часами сверять записи между системами. Источники использовали разные идентификаторы, названия и частоту обновления: один и тот же клиент мог называться «Acme Industries» в SAP, «Acme Industries Inc.» в Salesforce, а в Stripe значиться просто адресом почты.

  1. 14 разрозненных систем

    ERP, CRM, биллинг, склад, перевозчики, порталы поставщиков и таблицы жили отдельно. Единой картины по клиенту, заказу или поставщику не было ни в одной из них, а собрать её можно было только вручную.

  2. Ответы только через SQL и выгрузки

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

  3. Восемь дней на закрытие месяца

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

  4. Связи между данными не видны

    Вопрос «каких клиентов затронет срыв поставок у поставщика X» требует пройти цепочку клиент — заказ — товар — компонент — поставщик через несколько систем. На такие вопросы компания фактически не могла ответить.

  1. Единое хранилище и потоковая загрузка

    Apache Kafka передаёт данные в реальном времени, а Change Data Capture настроен на ключевых системах — ERP, CRM и биллинге. Когда менеджер меняет карточку клиента в Salesforce, изменение за секунды попадает в хранилище на PostgreSQL. Слой преобразования нормализует записи и убирает дубликаты; ежедневно синхронизируется 2,4 млн записей.

  2. Сопоставление записей между системами

    Система сопоставляет записи одного клиента в разных системах по нескольким признакам: налоговые номера, почтовые домены, телефоны, адреса и нечёткое сравнение названий. После начального обучения на 2400 вручную проверенных совпадениях она автоматически и правильно сопоставляет 98 % записей. Этот единый профиль клиента лёг в основу всех трёх контуров поиска.

  3. Подготовка документов и переписки

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

  4. CAG для частых вопросов

    Справочные данные — каталог, ценовые уровни, кредитные лимиты клиентов, остатки и стандартные условия — хранятся в Redis в виде актуальных срезов и подставляются прямо в контекст модели Claude. Поиска во время ответа нет, поэтому вопрос «какая сейчас цена на SKU-4521» получает ответ в среднем за 80 мс. После изменения цены в SAP кеш обновляется за секунды.

  5. RAG по документам и переписке

    Переписка с клиентами, договоры, обращения в поддержку и внутренние заметки переведены в векторы моделью эмбеддингов OpenAI и хранятся в Pinecone. На вопрос «что мы обсуждали с клиентом о задержке отгрузки в прошлом месяце» система находит самые близкие по смыслу документы и собирает из них ответ.

  6. GraphRAG на графе знаний

    Для вопросов о связях построен граф знаний в Neo4j: клиенты связаны с заказами, заказы — с товарами, товары — с компонентами, компоненты — с поставщиками и их договорами. В графе 12 млн узлов и 89 млн связей. Запрос сначала проходит по графу, а затем найденные связи становятся опорой для ответа модели. Устройство графа мы подробно разбираем в отдельном кейсе.

  7. Маршрутизация вопросов агентом

    Агент-классификатор разбирает каждый вопрос и выбирает контур: простые факты — в CAG, смысловой поиск по документам — в RAG, сложные вопросы о связях — в GraphRAG, иногда несколько сразу. Он учитывает структуру вопроса, типы упомянутых сущностей, сравнения, временной аспект и историю похожих запросов: «расскажи об Acme» уходит в CAG, а «всё о наших отношениях с Acme» — в GraphRAG.

  8. Сборка ответа и обратная связь

    Агент-синтезатор объединяет результаты, когда вопрос затрагивает несколько контуров: например, рейтинг клиентов берётся из CAG, обращения в поддержку — из RAG, связанные поставщики — из GraphRAG. Пользователи оценивают ответы, слабые попадают на разбор, и закономерности в ошибках улучшают маршрутизацию. За три месяца точность выбора контура выросла с 84 до 96 %.

04 — Архитектура

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

Технологии выбраны под нагрузку, интеграции и дальнейшее развитие продукта.

Зачем в проекте · 01 / 10

Python

Основной язык платформы: конвейеры данных, сервисы поиска и логика агентов написаны на Python. Один язык для всего контура упрощает развитие и сопровождение.

Ещё в проекте
  • RAG
  • GraphRAG
  • CAG

05 — Процесс

Как шла разработка

Последовательность работ от исследования задачи до запуска и проверки результата.

  1. Инфраструктура данных

    Развернули хранилище на PostgreSQL и потоковую передачу на Kafka, настроили конвейеры CDC для ERP, CRM и биллинга. Нормализовали данные и сопоставили записи одних и тех же клиентов в разных системах. Прежде чем строить AI-поиск, нужны были чистые и единые данные.

  2. Контур CAG

    Определили, какие данные сотрудники запрашивают чаще всего, построили кеш на Redis с предзагрузкой этих данных и оптимизировали использование контекстного окна. Частые вопросы стали получать ответ быстрее чем за 100 мс.

  3. RAG и GraphRAG

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

  4. Оркестрация агентов

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

06 — Итог

Результаты

Что создано в рамках проекта: рабочий контур, реализованные возможности и подтверждённые факты.

источников данных в одной платформе
14
записей синхронизируется ежедневно
2,4 млн
сокращение времени на отчётность
85 %
выручки под риском найдено в первый месяц
$340 тыс.

На сложные вопросы, которые раньше требовали часов ручного поиска, платформа отвечает в среднем за 1,8 секунды, а простые справки через CAG занимают меньше 100 мс. Для работы с данными не нужно знать SQL и помнить, в какой системе они лежат. Финансовый отдел сократил закрытие месяца с 8 до 2 дней: на вопрос «покажи все счета, которые не совпадают с заказами» сразу приходит ответ со ссылками на конкретные расхождения.

В первый же месяц отдел продаж нашёл выручку под риском на $340 тыс.: например, клиентов, у которых частота заказов упала год к году, хотя у компаний из их отрасли она выросла. Платформой пользуются 180 сотрудников, в среднем 2400 вопросов в день. Затраты на вычисления остаются под контролем: 71 % вопросов закрывает самый дешёвый CAG, 22 % — RAG и лишь 7 % требуют полного обхода графа.

Детали проекта

Почему кейс без имени клиента

Название компании мы не раскрываем. Это оптовый дистрибьютор, который работает в трёх странах, и для него данные о клиентах, поставщиках, ценах и выручке — коммерческая тайна. Поэтому закрытыми остаются имя клиента, его контрагенты и всё, что позволяет их вычислить; названия вроде «Acme Industries» в примерах условные.

При этом мы открыто рассказываем, как платформа устроена: потоковая загрузка на Kafka с CDC, единое хранилище, три контура поиска — CAG, RAG и GraphRAG — и агенты, которые выбирают между ними. Конкретику под ваши системы и данные разберём на встрече.

FAQ

Вопросы о проекте

Обсудим похожий проект?

Расскажите о задачах вашего бизнеса — предложим архитектуру и оценим сроки

Рассылка

Подпишитесь на нашу рассылку
ArdaМинцифры РоссииСделано в России
Услуги по разработке сайтов и Telegram-ботов оказывает ИП Акерман Д.И., ИНН 591907265805, ОГРНИП 321595800025080. Бренд «МАЙПЛ» принадлежит ООО «МАЙПЛ» — иные услуги оказываются ООО.