RU | EN | DE

LLM. RAG за 18 минут

📘 Подробный конспект видео о RAG

1. Проблема языковых моделей

  • Современные LLM (ChatGPT и др.) умеют:
    • Искать публичную информацию в интернете.
    • Анализировать документы.
    • Генерировать код.
  • Ограничение: они не знают внутренних данных компании (API, гайдлайны, отчёты).
  • 80% времени программист тратит на поиск информации внутри корпоративных систем.
  • Итог: модель либо «молчит», либо начинает выдумывать (галлюцинации).

2. Аналогия с экзаменом

  • Автор рассказывает историю из студенчества:
    • С другом сделали скрытый микродинамик и микрофон.
    • Друг подсказывал ответы из учебника во время экзамена.
  • Суть аналогии:
    • В голове (LLM) нет информации.
    • Внешняя система (друг с учебником) даёт контекст.
    • Это и есть Retrieval-Augmented Generation — генерация с опорой на внешний поиск.

3. Что такое RAG

  • Расшифровка: Retrieval-Augmented Generation = поиск + генерация.
  • Алгоритм работы:
    1. Подготовка данных: документы (PDF, базы знаний, записи совещаний) разбиваются на куски (чанки).
    2. Эмбеддинги: каждый кусок превращается в векторное представление (отпечаток смысла).
    3. Векторная база данных: хранит миллионы эмбеддингов, ищет по смысловой близости.
    4. Запрос пользователя: тоже превращается в эмбеддинг.
    5. Поиск: база находит ближайшие куски по смыслу.
    6. Контекст: найденные куски добавляются к запросу.
    7. Генерация ответа: LLM отвечает уже на основе реальных данных.

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

  1. Гибридный поиск
    • BM25 (точное совпадение ключевых слов) + векторный поиск (по смыслу).
    • Объединение результатов даёт более полную картину.
  2. Parent documents
    • Ищем по маленьким чанкам, но возвращаем большие документы для контекста.
  3. Множественные запросы
    • LLM переформулирует вопрос в несколько вариантов и ищет по всем.
  4. Реранкинг (reranking)
    • Среди найденных документов выбираются самые релевантные.
    • Повышает точность, но добавляет задержку.
  5. Семантическое разбиение
    • Деление текста не по символам, а по смысловым границам.
    • Каждый кусок содержит логически связанную информацию.

5. Оценка качества RAG-систем

  • Проблема: нет «правильных» и «неправильных» ответов, нужна объективная оценка.
  • Метрики:
    • Честность — основан ли ответ на реальных данных.
    • Полнота контекста — найдены ли все релевантные документы.
    • Релевантность ответа — отвечает ли система именно на вопрос.
    • Точность контекста — насколько выбранные документы соответствуют запросу.
  • Инструмент: Ragas — open-source фреймворк для автоматической оценки.
    • Строит knowledge graph.
    • Генерирует тысячи тестовых вопросов.
    • Создаёт эталонные ответы.
    • Автоматически тестирует систему.

6. Практические аспекты

  • Затраты: создание эмбеддингов и API-вызовы стоят дорого.
  • Кэширование:
    1. Кэш эмбеддингов — не пересчитывать повторно.
    2. Exact match cache — готовый ответ для одинаковых запросов.
    3. Semantic cache — понимает, что «борщ» ≈ «суп из свеклы».
  • Мониторинг:
    • Отслеживание производительности и качества в реальном времени.
    • Анализ ошибок и дорогих запросов.
  • Безопасность:
    • Эмбеддинги не позволяют восстановить исходный текст (как отпечаток пальца).
    • Контроль доступа, аудит логов, политика хранения данных.
    • Для документов под NDA — использовать приватные LLM, а не публичные API.

7. Выводы

  • LLM сами по себе — генераторы текста, а не хранилища знаний.
  • RAG решает проблему отсутствия доступа к специфической информации.
  • Простая версия подходит для демо, но в продакшне нужны:
    • комбинация техник,
    • оптимизация,
    • мониторинг,
    • безопасность.
  • RAG — это мост между языковыми моделями и реальным миром.
  • Без RAG LLM остаётся «умным стажёром», с RAG — превращается в эксперта по вашим данным.