Руководство по генерации с расширенным поиском (RAG): архитектура, реализация и внедрение в производство
От базового RAG до продакшена: чанкинг, векторный поиск, реранкинг и оценка в одном руководстве.
Это руководство по построению системы с дополненной генерацией на основе извлечения (RAG) — пошаговое, ориентированное на продакшн руководство по созданию реальных систем RAG.
Если вы ищете информацию о том:
- Как построить систему RAG
- Об архитектуре RAG
- Руководстве по RAG с примерами
- Как реализовать RAG с использованием векторных баз данных
- RAG с переупорядочиванием (reranking)
- RAG с веб-поиском
- Лучших практиках RAG для продакшн-среды
Вы попали по адресу.
Это руководство объединяет практические знания о реализации RAG, архитектурные паттерны и методы оптимизации, используемые в системах искусственного интеллекта на продакшн-среде.
Если у вас также есть коллекция заметок, созданных людьми, статья Второй мозг: объяснение для инженеров разъясняет, что сохраняет курируемая система персонального управления знаниями (PKM) — суждение, развивающийся контекст, — в дополнение к тому, что дополняет извлечение во время запроса.

Карта кластера RAG (Читайте в этом порядке)
Если вы хотите пройти путь по кластеру RAG максимально быстро, используйте эту карту:
- Вы здесь: Обзор RAG + сквозной конвейер (эта страница)
- Разбиение на чанки (основа качества извлечения): Стратегии разбиения на чанки в RAG
- Текстовые эмбеддинги (API и Python): Текстовые эмбеддинги для RAG и поиска — конечные точки эмбеддингов Ollama и совместимые с OpenAI, форма извлечения, ссылки далее
- Векторные хранилища (выбор хранения и индексации): Сравнение векторных хранилищ для RAG
- Глубина извлечения (когда «поиск» недостаточен): Поиск vs DeepSearch vs Deep Research
- Переупорядочивание (часто дает наибольший прирост качества): Переупорядочивание с моделями эмбеддингов
- Модели эмбеддингов и переупорядочивания (практические реализации):
- Расширенные архитектуры: Расширенные варианты RAG: LongRAG, Self-RAG, GraphRAG
- Извлечение по графам и векторам (GraphRAG в графовой базе данных): Графовая база данных Neo4j для GraphRAG, установка, Cypher, векторы, операции — графы свойств, векторные индексы и neo4j-graphrag в одном месте
Что такое генерация с дополнением на основе извлечения (RAG)?
Генерация с дополнением на основе извлечения (Retrieval-Augmented Generation, RAG) — это паттерн проектирования систем, который объединяет:
- Извлечение информации
- Дополнение контекста
- Генерацию с помощью больших языковых моделей
Простыми словами, конвейер RAG извлекает релевантные документы и внедряет их в промпт перед тем, как модель сгенерирует ответ.
В отличие от тонкой настройки (fine-tuning), RAG:
- Работает с часто обновляемыми данными
- Поддерживает частные базы знаний
- Снижает вероятность галлюцинаций
- Избегает повторного обучения больших моделей
- Улучшает обоснованность ответов
Современные системы RAG включают больше, чем просто векторный поиск. Полная реализация RAG может включать:
- Переписывание запросов
- Гибридный поиск (BM25 + векторный поиск)
- Переупорядочивание с помощью кросс-энкодеров
- Многоэтапное извлечение
- Интеграцию с веб-поиском
- Оценку и мониторинг
Минимальный чертеж продакшн-системы RAG (Референсная реализация)
Используйте это как ментальную модель (и стартовый каркас) для продакшн-систем RAG.
Конвейер инжестирования (офлайн или непрерывный)
- Сбор источников (документы, тикеты, веб-страницы, PDF, код)
- Нормализация (извлечение текста, очистка от шаблонов, удаление дубликатов)
- Разбиение на чанки (выбор стратегии, перекрытия и метаданных)
- Эмбеддинг (версионированные эмбеддинги)
- Вставка или обновление в индекс (векторное хранилище + поля метаданных)
- Стратегия переиндексации, когда меняются эмбеддинги или разбиение на чанки
Конвейер запросов (онлайн)
- Парсинг / переписывание запроса (опционально)
- Извлечение кандидатов (векторный или гибридный поиск + фильтрация по метаданным)
- Переупорядочивание топ-K с помощью кросс-энкодера / модели переупорядочивания
- Формирование контекста (удаление дубликатов, упорядочивание по релевантности, добавление цитат)
- Генерация с помощью промпта с заземлением (правила + поведение отказа)
- Логирование (набор извлеченных данных, переупорядоченный набор, финальный контекст, задержка, стоимость)
- Оценка (онлайн/офлайн стенд)
Если вы улучшаете только одну вещь в работающей системе RAG: добавьте переупорядочивание и стенд для оценки.
Пошаговое руководство по RAG: Как построить систему RAG
Этот раздел описывает практический поток RAG для разработчиков.

Шаг 1: Подготовка и разбиение данных на чанки
Качество извлечения сильно зависит от стратегии разбиения на чанки и дизайна индекса: хороший RAG начинается с правильного разбиения на чанки.
Разбиение на чанки определяет:
- Полноту извлечения (recall)
- Задержку
- Шум в контексте
- Стоимость токенов
- Риск галлюцинаций
Распространенные стратегии разбиения на чанки в RAG включают:
- Разбиение на фиксированные блоки
- Разбиение со скользящим окном
- Семантическое разбиение
- Рекурсивное разбиение
- Иерархическое разбиение
- Разбиение с учетом метаданных
Плохое разбиение на чанки — одна из самых распространенных причин низкого качества систем RAG.
Для тщательного, ориентированного на инженерию глубокого погружения в компромиссы при разбиении на чанки, метрики оценки, матрицы решений и работающих реализациях на Python, см.:
Стратегии разбиения на чанки в RAG: Альтернативы, компромиссы и примеры
Это руководство охватывает практические значения по умолчанию для:
- Систем вопросов и ответов
- Конвейеров суммаризации
- Поиска кода
- Мультимодальных документов
- Потокового инжестирования
- Мультимодальных документов с кросс-модальными эмбеддингами
Если вы серьезно относитесь к производительности RAG, прочтите это перед настройкой эмбеддингов или переупорядочивания.
Для мультимодальных систем RAG, объединяющих текст, изображения и другие модальности, изучите Кросс-модальные эмбеддинги: объединение модальностей ИИ
Шаг 2: Выберите векторную базу данных для RAG
Векторная база данных хранит эмбеддинги для быстрого поиска сходства.
Сравните векторные базы данных здесь:
Векторные хранилища для RAG - Сравнение
При выборе векторной базы данных для руководства по RAG или продакшн-системы учитывайте:
- Тип индекса (HNSW, IVF и т.д.)
- Поддержку фильтрации
- Модель развертывания (облачная или собственная)
- Задержку запросов
- Горизонтальную масштабируемость
- Требования к многопользовательности и контролю доступа
Шаг 3: Реализуйте извлечение (Векторный поиск или Гибридный поиск)
Базовое извлечение в RAG использует сходство эмбеддингов.
Продвинутое извлечение в RAG использует:
- Гибридный поиск (векторный + ключевые слова)
- Фильтрацию по метаданным
- Извлечение из нескольких индексов
- Переписывание запросов
Для концептуального обоснования:
Поиск vs DeepSearch vs Deep Research
Понимание глубины извлечения необходимо для высококачественных конвейеров RAG.
В полном стеке ассистентов этот шаг извлечения — лишь один слой памяти. Рабочий контекст, долговременное структурированное состояние и политика консолидации по-прежнему требуют явного проектирования — это разделение описано в Системы памяти в ИИ-ассистентах для OpenClaw, Hermes и паттернов SDK провайдеров.
Шаг 4: Добавьте переупорядочивание в ваш конвейер RAG
Переупорядочивание часто дает наибольший прирост качества в реализации RAG.
Переупорядочивание улучшает:
- Точность
- Релевантность контекста
- Верность фактам
- Соотношение сигнал/шум
Изучите техники переупорядочивания:
- Переупорядочивание с моделями эмбеддингов
- Qwen3 Embedding + Qwen3 Reranker на Ollama
- Переупорядочивание с Ollama + Qwen3 Embedding (Go)
- Переупорядочивание с Ollama + Qwen3 Reranker на Go
В продакшн-системах RAG переупорядочивание часто важнее, чем переход к более крупной модели.
Шаг 5: Интегрируйте веб-поиск (Опционально, но мощно)
RAG с дополнением веб-поиска позволяет динамически извлекать знания.
Веб-поиск полезен для:
- Данных в реальном времени
- ИИ-ассистентов, учитывающих новости
- Конкурентной разведки
- Ответов на вопросы в открытой предметной области
См. практические реализации:
Шаг 6: Постройте фреймворк оценки RAG
Серьезное руководство по RAG должно включать оценку. Без нее оптимизация системы RAG превращается в гадание.
Что измерять
| Слой | Что измерять | Почему это важно |
|---|---|---|
| Инжестирование | охват чанков, уровень дублирования, версия эмбеддингов | предотвращает скрытое смещение |
| Извлечение | recall@k, precision@k, MRR/NDCG | показывает, извлекаете ли вы правильные доказательства |
| Переупорядочивание | дельта в precision@k по сравнению с базовой линией | подтверждает окупаемость переупорядочивателя |
| Генерация | верность/заземленность, точность цитирования, качество отказа | снижает галлюцинации |
| Система | задержка p50/p95, стоимость на запрос, частота попадания в кэш | обеспечивает пригодность к продакшну |
Минимальный стенд оценки (практический чек-лист)
- Создайте тестовый набор запросов (реальные пользовательские запросы, если возможно)
- Для каждого запроса сохраните:
- ожидаемый ответ или ожидаемые источники
- разрешенные источники (золотые документы), если они доступны
- Запустите офлайн-батч:
- извлечь кандидатов
- переупорядочить
- сгенерировать
- оценить (извлечение + генерация)
- Отслеживайте метрики с течением времени и проталкивайте сборку при регрессиях (даже малых)
Начните просто: 50–200 запросов достаточно, чтобы обнаружить серьезные регрессии.
Расширенные архитектуры RAG
После того как вы поймете базовый RAG, изучите расширенные паттерны:
Расширенные варианты RAG: LongRAG, Self-RAG, GraphRAG
Расширенные архитектуры генерации с дополнением на основе извлечения позволяют:
- Многошаговому рассуждению
- Извлечению на основе графов
- Самокорректирующимся циклам
- Интеграции структурированных знаний
Для GraphRAG и извлечения по графам знаний, где вы комбинируете обход графа с векторным сходством в одной системе, см. Графовая база данных Neo4j для GraphRAG, установка, Cypher, векторы, операции (установка, Cypher, векторные индексы, гибридный поиск и пакет Python neo4j-graphrag).
Эти архитектуры необходимы для корпоративных систем искусственного интеллекта.
Когда RAG fails (И как это исправить)
Большинство сбоев RAG можно диагностировать, если смотреть на конвейер послойно.
- Возвращает нерелевантный контекст → улучшите разбиение на чанки, добавьте фильтры метаданных, реализуйте гибридный поиск, настройте K.
- Извлекает правильные документы, но отвечает неправильно → добавьте переупорядочивание, уменьшите шум контекста, улучшите правила заземления промпта.
- Галлюцинирует, несмотря на хорошие документы → требуйте цитирования, добавьте поведение отказа, добавьте оценку верности, уменьшите «креативную» температуру.
- Медленный/дорогой → кэшируйте извлечение + эмбеддинги, уменьшите K для переупорядочивания, ограничьте контекст, батчируйте эмбеддинги, настройте параметры индекса ANN.
- Утечка данных между арендаторами → реализуйте фильтрацию ACL на этапе извлечения (не только в промпте), разделите индексы или используйте партиции для каждого арендатора.
Частые ошибки реализации RAG
Частые ошибки в руководствах по RAG для начинающих включают:
- Использование чрезмерно крупных чанков документов
- Пропуск этапа переупорядочивания
- Перегрузка окна контекста
- Отсутствие фильтрации метаданных
- Отсутствие стенда для оценки
Исправление этих ошибок dramatically improves RAG system performance.
RAG против тонкой настройки
Во многих руководствах RAG и тонкая настройка путаются. Используйте это руководство по принятию решений:
| Вам следует предпочесть… | Когда… |
|---|---|
| RAG | знания часто меняются; вам нужны цитаты/аудитируемость; у вас есть частные документы; вы хотите быстрые обновления без переобучения |
| Тонкую настройку | вам нужен последовательный тон/поведение; вы хотите, чтобы модель следовала стилю предметной области; ваши знания относительно статичны |
| Оба | вам нужно поведение предметной области и свежие/частные знания (часто встречается в продакшне) |
Используйте RAG для:
- Извлечения внешних знаний
- Часто обновляемых данных
- Снижения операционных рисков
Используйте тонкую настройку для:
- Контроля поведения
- Последовательности тона/стиля
- Адаптации к предметной области при статичных данных
Большинство продвинутых систем ИИ сочетают генерацию с дополнением на основе извлечения с избирательной тонкой настройкой.
Лучшие практики RAG для продакшна
Если вы переходите от руководства по RAG к продакшну:
Извлечение + качество
- Используйте гибридное извлечение
- Добавьте переупорядочивание
- Используйте фильтрацию метаданных и удаление дубликатов
- Непрерывно отслеживайте метрики извлечения (recall@k / precision@k)
Стоимость + задержка (не пропускайте это)
- Кэширование:
- Кэш эмбеддингов (одинаковый текст → одинаковый эмбеддинг)
- Кэш извлечения (популярные запросы)
- Кэш ответов (для детерминированных рабочих процессов)
- Настраивайте параметры индекса ANN (HNSW/IVF) и батч-операции
- Контролируйте использование токенов: меньший контекст, меньше кандидатов, структурированные промпты
Безопасность + конфиденциальность
- Осуществляйте контроль доступа на этапе извлечения (фильтры ACL / партиции для каждого арендатора)
- Анонимизируйте или избегайте индексации PII, где это возможно
- Безопасное логирование (избегайте хранения сырых чувствительных промптов, если это не требуется)
Операционная дисциплина
- Версионируйте ваши эмбеддинги и стратегию разбиения на чанки
- Автоматизируйте конвейеры инжестирования
- Мониторьте метрики галлюцинаций/верности
- Отслеживайте стоимость на запрос
Генерация с дополнением на основе извлечения — это не просто концепция для руководства, это дисциплина архитектуры продакшн-систем.
Системные решения, формирующие конвейер RAG в продакшне — какая модель обрабатывает классификацию извлечения, как контролировать стоимость токенов в длинных сессиях, как валидировать входы от недоверенных пользователей, — подробно рассматриваются в кластере Архитектура LLM.
Финальные мысли
Это руководство по RAG охватывает как базовую реализацию, так и продвинутый системный дизайн.
Генерация с дополнением на основе извлечения — это основа современных приложений искусственного интеллекта.
Владение архитектурой RAG, переупорядочиванием, векторными базами данных, гибридным поиском и оценкой определит, останется ли ваша система ИИ демо-версией или станет готовой к продакшну.
Эта тема будет продолжать расширяться по мере развития систем RAG.