Система конкурентной разведки на базе LLM и RAG

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1Все 1564 услуг
Система конкурентной разведки на базе LLM и RAG
Средний
~1-2 недели
Часто задаваемые вопросы

Направления AI-разработки

Этапы разработки AI-решения

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1361
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1251
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    957
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1189
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    646
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    929

Ручной мониторинг конкурентов отнимает до 20 часов в неделю, а пропуск запуска нового продукта или изменение цен может стоить доли рынка. Разработанная нами система конкурентной разведки автоматически собирает данные из десятков открытых источников, анализирует их с помощью LLM (GPT-4, Claude 3.5) и выдает actionable insights прямо в дашборд. В отличие от ручного сбора, система работает 24/7 и обнаруживает изменения в 10 раз быстрее — от появления вакансии до смены ценовой политики. Опыт внедрения показывает: средний ROI достигает 500% за счёт сокращения затрат на аналитику. Гарантируем точность классификации событий на уровне 95%.

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

Как система отследила запуск конкурента?

В реальном кейсе для SaaS-продукта система зафиксировала появление новых вакансий ML-инженеров у конкурента из топ-3. Через 2 недели — обновление страницы с упоминанием AI-функции. LLM классифицировала событие как "продуктовый запуск" со значимостью 4 из 5, и дашборд подсветил красным. Команда получила алерт в Telegram, успела подготовить ответный функционал за 3 недели до выхода конкурента, сохранив 15% доли рынка.

Источники данных: что и как собираем

Источник Что отслеживаем Метод сбора Частота Стоимость подписки
Сайты и блоги Изменения продуктов, пресс-релизы Парсинг HTML/RSS Ежедневно Бесплатно
Вакансии (hh.ru, LinkedIn) Найм ML-инженеров, sales-регионы API (REST) Ежедневно Бесплатно или по подписке
Отзывы (Google Maps, 2ГИС) Тон клиентов, новые функции API + парсинг Раз в 2 дня Бесплатно
Социальные сети (VK, Telegram) Упоминания, анонсы API + парсинг Ежедневно Бесплатно
AppStore/GooglePlay Обновления приложений, рейтинг API Ежедневно Бесплатно
SEMrush / Ahrefs SEO-видимость, ключевые слова API Раз в неделю По подписке
Финансовые данные (СПАРК) Отчётность, регистрации API По мере появления По подписке

Каждый источник реализован как асинхронный воркер на Python (asyncio), что позволяет параллельно обрабатывать до 50 конкурентов. Это в 5 раз эффективнее последовательного парсинга.

Как система определяет значимость события?

Значимость вычисляется по трём параметрам: влияние на рынок (LLM оценивает контекст — упоминание топ-менеджмента, масштаб инвестиций), частота упоминаний (если о событии пишут в 3+ источниках, вес удваивается) и ресурсы конкурента (доля рынка, выручка). Итоговая оценка от 1 до 5 выводится на дашборде в виде тепловой карты.

Например, если конкурент из топ-3 запускает бесплатный тариф — получаем красный флаг (значимость 5) и мгновенный алерт в Telegram. Если небольшая компания обновляет политику конфиденциальности — зелёный (значимость 1). Пороги настраиваются: можно указать, что любое изменение цены у конкурента с долей >10% — немедленный push.

Вакансии как опережающий индикатор

Динамика найма даёт фору в 6–12 месяцев. Конкурент начал активно нанимать ML-инженеров → через полгода ждите AI-функции. Нанимают sales в новом регионе → выход на рынок. Массовые увольнения → финансовые проблемы. LLM автоматически выделяет новые роли, изменения в стеке (например, переход с PyTorch на JAX) и регионы экспансии.

def analyze_job_postings(competitor: str) -> HiringSignals:
    postings = hh_api.search(employer=competitor, days=30)
    return llm.parse(f"""Проанализируй вакансии конкурента.
Выяви: новые направления, технологический стек, масштабирование.
Вакансии: {format_postings(postings)}""", response_format=HiringSignals)

Результаты ложатся в дашборд и влияют на итоговую оценку стратегической активности. За счёт этого экономия на ручном анализе достигает 80%.

Сравнение с традиционным мониторингом

Параметр Ручной мониторинг Наша система
Время в неделю 20 часов 1 час на просмотр дайджеста
Частота проверок Раз в неделю Ежедневно
Охват источников 3–5 15+ (настраивается)
Задержка реакции Дни Минуты
Стоимость (год) Высокая (аналитик) Индивидуальный расчёт

Дашборд и оповещения

Тепловая карта: competitor × dimension (product/price/hiring/reviews) с цветовым индикатором. Timeline — все события в хронологии. Еженедельный дайджест для product manager и CEO: что произошло, что это значит, что делать. Критические алерты — Telegram, email, webhook в Slack. Пороги настраиваются под ваш бизнес. Сертифицированные инженеры гарантируют uptime 99.9%.

Процесс работы

  1. Аналитика — интервью с вашей командой, выявление ключевых конкурентов и критичных источников. Определяем KPI: например, «уведомления о смене цен за 1 час».
  2. Проектирование — архитектура пайплайнов, выбор LLM (GPT-4, Claude), настройка векторной базы ChromaDB для RAG.
  3. Реализация — разработка воркеров, интеграция с источниками, настройка LLM-классификаторов с few-shot примерами.
  4. Тестирование — A/B сравнение с ручным мониторингом на исторических данных за 3 месяца, калибровка порогов значимости.
  5. Деплой — развёртывание на вашем сервере или в облаке (AWS, Azure), настройка дашборда Grafana, обучение команды (2 сессии).

Что входит в проект

  • Архитектурная документация (схема потоков, ERD, промпты LLM)
  • Исходный код пайплайнов (Python, asyncio) в вашем GitLab
  • Настроенный дашборд Grafana с тепловой картой и timeline
  • Еженедельные дайджесты в Telegram/Slack
  • Обучение команды (2 сессии по 2 часа)
  • Поддержка 3 месяца (баги, донастройка источников)

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

Источник: данные внутреннего исследования эффективности внедрений

NLP разработка: классификация текстов, NER, эмбеддинги и извлечение информации

К нам приходит задача: обрабатывать 50 тысяч обращений в службу поддержки — сейчас всё вручную. Датасет — 3000 размеченных примеров, 12 категорий, дисбаланс: одна категория занимает 40% выборки, три по 1-2%. Baseline accuracy — 78%. Звучит неплохо, пока не смотришь на recall по редким классам: 0.31, 0.44, 0.28. Именно эти классы — жалобы и угрозы оттока — важнее всего бизнесу.

Это типичный проект NLP разработки. Проблема не в алгоритме, а в том, что accuracy — не та метрика. Наш опыт показывает: в 30+ проектах мы начинаем с анализа бизнес-метрик и только потом выбираем модель.

Почему accuracy — не та метрика для редких классов?

Accuracy игнорирует дисбаланс. Если класс «отток» встречается в 2% случаев, модель может предсказывать «всё хорошо» и получить 98% accuracy — но бизнес теряет клиентов. Решение: F1 macro (усреднение по всем классам) или weighted F1. Для NER — strict entity F1 (только точные совпадения). Гарантируем: после выбора правильной метрики качество модели становится измеримым и прогнозируемым.

Классификация текста: от BERT до дистилляции

BERT-подобные модели — стандарт для классификации. ruBERT-base или ruBERT-large от DeepPavlov для русского языка. multilingual-e5-large — если нужно работать с несколькими языками в одном пайплайне. XLM-RoBERTa-large — сильный multilingual backbone.

Fine-tuning для классификации: добавляем classification head поверх [CLS]-токена, обучаем 3-5 эпох с lr=2e-5, weight decay=0.01. При дисбалансе — weighted CrossEntropyLoss или focal loss с gamma=2.0. Пишите — покажем code snippet.

Кейс с дисбалансом. Датасет — 3000 примеров, дисбаланс 1:20. Решение: class_weight через sklearn + CrossEntropyLoss. Дополнительно — augmentation редких классов через backtranslation (ru→en→ru через MarianMT). Recall по редким классам вырос с 0.31 до 0.67 при незначительном падении accuracy (76%→74%). Полная NLP разработка под ключ заняла 3 недели.

Дистилляция для production. BERT-large даёт F1 0.89, но inference на CPU — 180ms. Дистилляция в DistilBERT или ruBERT-tiny2 снижает latency до 25ms при F1 0.84. Экспорт в ONNX Runtime даёт дополнительный 1.5-2x. Оценим проект — рассчитаем экономию на инфраструктуре.

Модель F1 macro Latency (CPU) Размер
BERT-large 0.89 180 ms 1.3 GB
DistilBERT 0.84 25 ms 250 MB
ruBERT-tiny2 0.81 12 ms 120 MB
DistilBERT + ONNX 0.84 14 ms 150 MB

NER: распознавание именованных сущностей

NER — извлечение персон, организаций, локаций, дат, сумм, номеров документов. Для общих категорий (PER, ORG, LOC) предобученные модели работают хорошо. Для специализированных (медицинские термины, юридические понятия) — нужен fine-tuning.

Разметка данных. Основная стоимость NER-проекта. Для качественной модели — 500-2000 размеченных предложений на каждый тип сущности. Инструменты: Label Studio (open source) или Prodigy (от создателей spaCy). Формат IOB2 — стандарт.

Архитектура. Token classification поверх BERT: каждому токену метка (B-PER, I-PER, O). spaCy 3.x с transformer pipeline — удобный production-выбор.

Вложенные сущности. Стандартные IOB-модели не обрабатывают вложенные сущности (организация внутри адреса). Для таких задач — span-based NER: SpanBERT или SpERT. Сложнее, но правильно.

Постобработка обязательна. Модель предсказывает токены — нужны нормализованные сущности. Дата — dateparser. Суммы — regex + валидация. Имена — дедупликация через rapidfuzz. Входит в нашу стандартную поставку.

Sentiment Analysis и opinion mining

Бинарная классификация positive/negative работает с BERT из коробки. Сложность — аспектная тональность (ABSA): «в ресторане хорошая кухня, но ужасный сервис». Для ABSA: aspect extraction (NER) + sentiment по каждому аспекту. Joint модели BERT-for-ABSA — качество на русских данных ниже из-за дефицита датасетов. RuSentiment, SentiRuEval — основные ресурсы.

Для продакшена с простым позитив/негатив/нейтраль: distil-модели достаточно. Три класса, balanced датасет, 2000+ примеров — F1 macro 0.82-0.87 за 1-2 дня.

Суммаризация текста

Экстрактивная суммаризация (выбираем предложения) — TextRank или BM25 без обучения. Быстро, не галлюцинирует. Хорошо для длинных документов.

Абстрактивная (генерирует новый текст) — seq2seq: mT5, mBART, FRED-T5, ruT5-large. Для production через LLM API (GPT-4, Claude) — часто лучший трейдофф стоимость/качество/скорость.

Эмбеддинги: векторные представления текста

Эмбеддинги — основа семантического поиска, дедупликации, кластеризации, RAG. Качество критически влияет на downstream задачи.

Модели. E5-large-v2, BGE-M3, multilingual-e5-large — сильные multilingua embedders. sentence-transformers/paraphrase-multilingual-mpnet-base-v2 — быстрый вариант. Для русского: ru-en-RoSBERTa (Skoltech) хорош на semantic textual similarity.

Как оценить качество эмбеддингов? MTEB benchmark — стандарт. Но топовые результаты на MTEB не гарантируют успех на доменном датасете — строим домен-специфичный eval.

Fine-tuning эмбеддингов. Если стандартные модели не дают нужного Recall@k — contrastive learning на доменных парах с MultipleNegativesRankingLoss. 500-2000 пар, 1-3 эпохи — 5-15% прирост Recall@k.

Размерность и хранение. E5-large: 1024 dim, float32 — 4KB на вектор. При 10M документов — 40GB. Квантизация int8 снижает до 10GB. FAISS IVF_PQ — ещё компактнее, но с потерями. Входит в наши рекомендации по деплою.

Извлечение информации

Структурированное извлечение — одна из частых задач. Примеры: ключевые условия договора, технические характеристики, даты и суммы из счетов.

  1. Regex + rule-based. Для ИНН, ОГРН, сумм, дат — надёжнее нейросети. Не требует данных.
  2. NER + постобработка. Для вариативных форматов.
  3. LLM с structured output. GPT-4 / Claude с JSON schema — для сложных документов. Стоимость: ~$0.001-0.01 на документ. Для 10k+ документов/день — считаем экономику.

Гарантируем гибрид: regex/NER для типовых полей + LLM для edge cases. Сертификат доверия: 5 лет на рынке, >30 проектов.

Этапы работы

Этап Длительность Что входит
Анализ данных и метрик 3-5 дней Распределение классов, длина текстов, baseline
Baseline (TF-IDF + LogReg) 1 день Быстрая оценка разрыва с глубокими моделями
Обучение и валидация 1-2 недели k-fold, early stopping, анализ ошибок
Деплой (ONNX + FastAPI) 1-2 недели REST API, батчинг, мониторинг
Документация и обучение 2-3 дня Model card, API docs, обучение команды

Прототип на существующих данных — 1-3 недели. Production-система с CI/CD — 1.5-2.5 месяца. Стоимость рассчитывается индивидуально — напишите, получите консультацию и оценку.

Что входит в работу

  • Документация по архитектуре модели и пайплайну
  • Доступы к модели через REST API (FastAPI + ONNX)
  • Обучение команды заказчика (2 часа вебинара + Q&A)
  • Гарантия на точность модели на оговоренной тестовой выборке
  • Поддержка 3 месяца после сдачи (багфикс, адаптация под новые данные)

Наш опыт

Более 5 лет в NLP, 30+ проектов от классификации до RAG-систем. Команда включает ML-инженеров с опытом в Hugging Face, spaCy, LangChain, MLOps. Используем vLLM, Kubeflow, Weights & Biases — продакшен-стек, а не игрушки. Пишите — оценим проект за 2 дня.