RU | EN | DE
📘 Подробный конспект видео о RAG
1. Проблема языковых моделей
- Современные LLM (ChatGPT и др.) умеют:
- Искать публичную информацию в интернете.
- Анализировать документы.
- Генерировать код.
- Ограничение: они не знают внутренних данных компании (API, гайдлайны, отчёты).
- 80% времени программист тратит на поиск информации внутри корпоративных систем.
- Итог: модель либо «молчит», либо начинает выдумывать (галлюцинации).
2. Аналогия с экзаменом
- Автор рассказывает историю из студенчества:
- С другом сделали скрытый микродинамик и микрофон.
- Друг подсказывал ответы из учебника во время экзамена.
- Суть аналогии:
- В голове (LLM) нет информации.
- Внешняя система (друг с учебником) даёт контекст.
- Это и есть Retrieval-Augmented Generation — генерация с опорой на внешний поиск.
3. Что такое RAG
- Расшифровка: Retrieval-Augmented Generation = поиск + генерация.
- Алгоритм работы:
- Подготовка данных: документы (PDF, базы знаний, записи совещаний) разбиваются на куски (чанки).
- Эмбеддинги: каждый кусок превращается в векторное представление (отпечаток смысла).
- Векторная база данных: хранит миллионы эмбеддингов, ищет по смысловой близости.
- Запрос пользователя: тоже превращается в эмбеддинг.
- Поиск: база находит ближайшие куски по смыслу.
- Контекст: найденные куски добавляются к запросу.
- Генерация ответа: LLM отвечает уже на основе реальных данных.
4. Продвинутые техники RAG
- Гибридный поиск
- BM25 (точное совпадение ключевых слов) + векторный поиск (по смыслу).
- Объединение результатов даёт более полную картину.
- Parent documents
- Ищем по маленьким чанкам, но возвращаем большие документы для контекста.
- Множественные запросы
- LLM переформулирует вопрос в несколько вариантов и ищет по всем.
- Реранкинг (reranking)
- Среди найденных документов выбираются самые релевантные.
- Повышает точность, но добавляет задержку.
- Семантическое разбиение
- Деление текста не по символам, а по смысловым границам.
- Каждый кусок содержит логически связанную информацию.
5. Оценка качества RAG-систем
- Проблема: нет «правильных» и «неправильных» ответов, нужна объективная оценка.
- Метрики:
- Честность — основан ли ответ на реальных данных.
- Полнота контекста — найдены ли все релевантные документы.
- Релевантность ответа — отвечает ли система именно на вопрос.
- Точность контекста — насколько выбранные документы соответствуют запросу.
- Инструмент: Ragas — open-source фреймворк для автоматической оценки.
- Строит knowledge graph.
- Генерирует тысячи тестовых вопросов.
- Создаёт эталонные ответы.
- Автоматически тестирует систему.
6. Практические аспекты
- Затраты: создание эмбеддингов и API-вызовы стоят дорого.
- Кэширование:
- Кэш эмбеддингов — не пересчитывать повторно.
- Exact match cache — готовый ответ для одинаковых запросов.
- Semantic cache — понимает, что «борщ» ≈ «суп из свеклы».
- Мониторинг:
- Отслеживание производительности и качества в реальном времени.
- Анализ ошибок и дорогих запросов.
- Безопасность:
- Эмбеддинги не позволяют восстановить исходный текст (как отпечаток пальца).
- Контроль доступа, аудит логов, политика хранения данных.
- Для документов под NDA — использовать приватные LLM, а не публичные API.
7. Выводы
- LLM сами по себе — генераторы текста, а не хранилища знаний.
- RAG решает проблему отсутствия доступа к специфической информации.
- Простая версия подходит для демо, но в продакшне нужны:
- комбинация техник,
- оптимизация,
- мониторинг,
- безопасность.
- RAG — это мост между языковыми моделями и реальным миром.
- Без RAG LLM остаётся «умным стажёром», с RAG — превращается в эксперта по вашим данным.