Инструменты21 августа 2026 г., 01:48 МСК🤖 Auto

Agentic RAG на LangGraph: гибрид точности и контекста

Новый open-source проект от Giovanni Pasq демонстрирует, как построить модульную Agentic RAG-систему с самокоррекцией, уточнением запросов и параллельным поиском, используя LangGraph и Qdrant.

Баннер новости 6198

Рынок RAG-решений перенасыщен базовыми туториалами, которые часто упускают из виду ключевые проблемы: потерю контекста, галлюцинации при сложных запросах и отсутствие обратной связи. Новый репозиторий agentic-rag-for-dummies закрывает этот пробел, предлагая архитектуру, где агент не просто ищет документы, а планирует действия, уточняет намерения пользователя и самостоятельно исправляет ошибки поиска.

Архитектура: Иерархический индекс и Multi-Agent Map-Reduce

Главное техническое отличие проекта — использование иерархического индексирования. Документы разбиваются на два уровня:

  • Child Chunks (Дочерние чанки): Маленькие фрагменты для высокоточного поиска по ключевым словам.
  • Parent Chunks (Родительские чанки): Большие смысловые блоки (на основе заголовков H1-H3), которые подгружаются только если дочерние чанки нашли релевантные данные. Это сохраняет контекст, не перегружая память модели.

Процесс обработки запроса разделен на четыре этапа, управляемые через LangGraph:

  1. Understanding: Поддержание истории диалога без бесконечного роста контекста.
  2. Clarification: Агент переписывает запросы, разрешает неоднозначности (например, «как это обновить?» → «как обновить SQL?») и запрашивает уточнения у человека, если запрос слишком размыт.
  3. Retrieval (Map-Reduce): Сложный запрос разбивается на подзапросы, которые выполняются параллельно разными агентами. Каждый агент может выполнить самокоррекцию, если первоначальный поиск дал слабый результат.
  4. Generation: Агрегация ответов в единый ответ.

Технический стек и интеграции

Система спроектирована как провайдер-агностичная, но по умолчанию использует локальный Ollama с моделью Granite 4.1 8B (рекомендуется для надежного вызова инструментов) и эмбеддинги Qwen3-Embedding-0.6B в связке с векторной базой Qdrant (гибридный поиск dense + sparse).

Ниже приведена сравнительная таблица поддерживаемых LLM-провайдеров и моделей, которые можно интегрировать в эту архитектуру:

Провайдер Модель (пример) Ключевая особенность
Ollama (Local) granite4.1:8b Работа офлайн, контроль данных, требует GPU для 8B+
OpenAI gpt-4o-mini Высокая скорость, низкая стоимость, отличная логика
Anthropic claude-sonnet-4-5-20250929 Улучшенное следование инструкциям и безопасность
Google gemini-2.5-flash Быстрый отклик, хорошая работа с длинными контекстами

Инструменты оценки и наблюдаемости

Проект не ограничивается только запуском. В него встроена интеграция с Langfuse для отслеживания вызовов LLM и использования инструментов. Для оценки качества ответов используется метрика RAGAS, которая позволяет количественно измерить точность извлечения (retrieval) и качество генерации (answer quality) на реальных данных.

Для разработчиков, желающих быстро начать, проект предлагает два пути: интерактивный Jupyter Notebook для обучения основам и модульный проект для продакшн-разработки, где каждый компонент (конвертер PDF, эмбеддер, агент) можно заменить независимо.

Источник: Github ↗