📚 Гибридный поиск по юридическим документам (RAG)

Система интеллектуального поиска по базе судебных документов с точным указанием источников

🎯 Проблема

Юридические документы имеют сложную структуру и большой объём. Простой поиск не работает:

  • Объём документов: сотни файлов, сотни страниц. Если всё отправить в LLM - она запутается
  • Сложная структура: дела, статьи, параграфы, пункты — легко потерять контекст
  • Разные типы вопросов: где-то нужно точное число, где-то имя, где-то развёрнутый ответ
  • Отсутствие источников: модель даёт ответ, но невозможно проверить, откуда он взят

Результат: потеря времени, ошибки в интерпретации, невозможность проверить информацию.

💡 Решение

Гибридная RAG-система, сочетающая несколько подходов для максимальной точности и скорости:

✅ Поиск по смыслу и точным совпадениям ✅ Экономия токенов и времени ✅ Указание источника (документ + страница) ✅ Работа с текстовыми и сканированными документами

🔧 Как это работает

Метод Что делает Преимущество
Постраничный чанкинг Нарезка документов по страницам с перекрытием. Сохранение метаданных: номер дела, статья, страница Точный grounding + сохранение контекста между страницами
Гибридный поиск Векторы (смысл) + ключевые слова (точное совпадение) + фильтрация по метаданным Находит как «расторжение контракта», так и точные значения (даты, имена, номера дел)
Агентный роутинг LLM выбирает оптимальный инструмент поиска в зависимости от типа вопроса Не тратит токены на полный поиск, если вопрос решается через метаданные
Генерация ответа LLM формирует ответ на основе найденных чанков с указанием источника Каждый ответ привязан к документу и странице — можно проверить

💻 Пример интерфейса

Пример интерфейса

Пример ответа системы с указанием источника (документ, страница)

✨ Ключевые преимущества

  • Ищет точные совпадения и смыслы — векторный поиск находит семантически близкое, гибридный — точные значения (даты, имена, номера)
  • Экономит токены и время — агент не запускает полный поиск, если вопрос решается через метаданные
  • Указывает источник — каждый ответ привязан к конкретному документу и странице (grounding)
  • Работает с любыми LLM — поддержка OpenAI, Yandex Cloud, Anthropic и других провайдеров по API
  • Поддерживает разные форматы — текстовые документы (PDF, DOCX) и сканированные изображения (OCR)

📈 Метрики

Показатель Значение
Точность (детерминированные вопросы) 0.90
Время ответа (простые вопросы) < 1 секунды (да/нет, цифра, имя)
Время ответа (полный текст) 3–5 секунд
Документов в базе 300
Вопросов в тестовой выборке 1000
Grounding (указание источника) Всегда (документ + страница)

❓ Примеры вопросов

Тип Пример вопроса Что найдёт
Boolean «Было ли заседание 15 марта?» Точное совпадение даты + статус
Name «В каком суде рассматривали дело X?» Название суда из метаданных
Date «Когда было первое заседание?» Дата из документа
Number «Какая сумма иска?» Числовое значение
Free text «Какие аргументы приводил истец?» Развёрнутый ответ с цитатами

🚀 Варианты улучшения

Направление Что добавить
Локальное развёртывание Работа в закрытом контуре компании без отправки документов внешним провайдерам (Local LLM)
Оптимизация под структуру документов Настройка поисковых алгоритмов под конкретную иерархию документов заказчика
Расширенные метаданные Дополнительные фильтры: юрисдикция, тип дела, судья, даты
Кэширование ответов Сохранение ответов на частые вопросы для мгновенной выдачи
Интеграция с CRM Автоматическое создание карточек дел на основе найденной информации

🛠️ Технологии

Python LlamaIndex Qdrant OpenAI API Yandex Cloud Local LLM FastAPI Docker PostgreSQL OCR

🔗 Ссылки

@ Написать в Telegram

Хотите внедрить поиск по вашей базе документов? Напишите мне — обсудим адаптацию под ваши задачи.