Вы думаете, ChatGPT стал идеальным? Может «загуглить» любой факт, анализировать документы, даже писать код? Попробуйте спросить его про внутренние API вашей компании, корпоративные гайдлайны или правила код-ревью. Он молчит — и не зря. Ведь около 80 % рабочего времени программист тратит на поиск информации во внутренних системах.

Сегодня расскажу о технологии, которая решает эту проблему — Retrieval Augmented Generation (RAG).

Почему ChatGPT «не знает» ваши документы

Современные модели действительно стали умнее. ChatGPT может искать в интернете, Claude анализирует документы, а другие LLM — генерируют код. Но всё это работает только с открытой информацией.

А что, если вам нужно обратиться к внутренним документам — отчётам, техническим спецификациям или приватным базам знаний? Тут всё рушится.

Модель либо выдумывает ответ, либо честно признаётся, что ничего не знает. И делает это убедительно — но неверно. Потому что LLM генерирует текст, а не хранит ваши данные.

Пример из жизни

В студенческие годы мы с моим другом Максом нашли способ «улучшить» себя перед экзаменом. Он сидел за пределами аудитории с учебником, а я — с миниатюрным динамиком в ухе и микрофоном в рукаве. Я задавал вопрос — Макс находил ответ и шептал мне в ухо.

Так я «дополнял» собственные знания внешним источником. После экзамена вся информация из головы исчезала, но моментальный доступ к правильным данным спасал меня.

Это и есть прототип RAG, только вместо векторной базы данных у меня был друг с учебником.

Что такое RAG

Retrieval Augmented Generation (RAG) — это архитектура, в которой модель ИИ перед ответом ищет нужную информацию во внешней базе.

Если упростить:

  1. LLM получает вопрос.

  2. Вопрос превращается в числовое представление — эмбеддинг.

  3. Система ищет по смыслу близкие фрагменты в векторной базе данных.

  4. Найденные фрагменты добавляются к запросу в контекст.

  5. Модель генерирует ответ, опираясь на реальную информацию, а не на догадки.

Так ИИ перестаёт «фантазировать» и начинает оперировать вашими данными.

Как готовятся данные

RAG начинается с подготовки документов.

  • Все файлы (PDF, wiki, API-доки) разбиваются на небольшие части — чанки.

  • Каждый чанк преобразуется в эмбеддинг — числовой «отпечаток смысла».

  • Эмбеддинги сохраняются во векторной базе, которая ищет не по словам, а по смысловой близости.

Простая аналогия: если обычная база данных ищет «по алфавиту», то векторная ищет по идее.

Как система отвечает на вопрос

Когда пользователь задаёт вопрос, он тоже превращается в эмбеддинг. База находит фрагменты текста, близкие по смыслу, и добавляет их в контекст запроса. LLM получает расширенный контекст и формирует ответ уже на основе найденных данных.

Это как разница между:

«Расскажи о квантовой физике»
и
«Объясни принцип неопределённости, используя этот учебник по квантовой физике».

Почему RAG лучше встроенного поиска

Интернет-поиск ChatGPT или Claude ограничен публичными данными. RAG даёт доступ к внутренним документам, API и базам компании, позволяет кэшировать результаты, контролировать источники и подстраивать поведение под конкретный бизнес.

Продвинутые техники RAG

1. Гибридный поиск.
Объединяет точный поиск по ключевым словам (BM25) и семантический поиск по смыслу.

2. Родительские документы.
Поиск ведётся по коротким чанкам, но возвращается связанный контекст целиком.

3. Множественные запросы.
Модель сама создаёт несколько формулировок вопроса, чтобы увеличить полноту поиска.

4. Реранжирование.
Дополнительная модель оценивает найденные результаты и отбирает самые релевантные.

5. Семантическое разбиение.
Документы делятся не по символам, а по смыслу — так сохраняется логика текста.

Как измерить качество RAG

Ручная проверка не подходит: нужно сотни тестов.
Для этого существует open-source фреймворк RAGAS. Он автоматически создаёт вопросы, эталонные ответы и тестирует систему по ключевым метрикам:

  • Честность — основан ли ответ на реальных данных.

  • Полнота — нашла ли система все релевантные документы.

  • Релевантность — действительно ли ответ решает запрос.

RAG в продакшне

На практике RAG требует доработки:

  • кэширование эмбеддингов снижает стоимость;

  • мониторинг показывает медленные запросы и ошибки;

  • контроль доступа защищает приватные данные.

Важно: эмбеддинги не позволяют восстановить исходный текст, но нужно следить за политикой хранения и логами доступа.

Итог

ChatGPT и Claude умеют многое, но без доступа к вашим данным они остаются «умными стажёрами». RAG превращает их в экспертов, знакомых с внутренними знаниями вашей компании.

Эта технология строит мост между языковыми моделями и реальными данными — не магия, а инженерия, которая делает ИИ действительно полезным инструментом.

Комментарии (3)


  1. mmMike
    21.11.2025 07:41

    Как красиво все пишут..

    Ну сделал я такое для себя. где то 2000 страниц confluence и pdf доков на 2 Гб.
    Первый этап - поиск контекстный и поиск по точному совпадению - все OK. Выдает нужные документы и скриншоты страниц где есть найденные чанки.
    А вот подставлять найденное в чат LLM особого смысла нет. результат слишком не предсказуем. То фигня, то более менее релевантный резюм по найденному. Причем фигня чаще.

    А теоретики "а это у тебя промп не правильный, перепиши". А те, кто фактически пробовал как то энтузиазм теряют и заминают эту тему.
    Хотя с нынешней тенденцией (на уровне Грефа и пр.) лучше то же изображать энтузиазм и говорить что "да вообще.. все время ИИ пользую и производительность выросла на 150%".


    1. dibu28
      21.11.2025 07:41

      Согласен, статья как будто написана ChatGPT. Ничего конкретного, только базовые вещи. А проблемы как раз кроются в деталях.

      Начиная с того что: Чем парсить и OCRить документы и pdf. Как разбивать на чанки и как доставать семантические связи. Нужны ли графы. Чем делать эмбеддинги, как оптимизировать их размер и где хранить для быстрого поиска. Как и чем ранжировать чанки. В каком формате отдавать их ллм. Какой длинны отдавать чтобы ллм не путалась в большом количестве информации. И какой промпт написать чтобы не галюцинировала и ответы были полезными. (Тут в промпте много мелких нюансов). И какой ответ ожидает юзер короткий и быстрый или длинный и подробный, это тоже надо в промпте для ллм прописать.

      Посмотрел что написал. Получился прям промпт для ChatGPT для новой статьи.)


      1. firstleon
        21.11.2025 07:41

        Буквально вчера такое выспрашивал у qwen. Все довольно подробно описала, с примерами для моего текста, предложила все автоматизировать для 1000 книг ).

        А от статьи такой толку 0.