RAG: Retrieval Augmented Generation

Интерактивный онлайн-семинар по архитектуре RAG

60 минут
Продолжительность
Практические примеры
Python + Yandex Models
Интерактивность
Песочница + Визуализации
Начать изучение
Прогресс семинара 0%

Структура семинара

Теоретические основы

Что такое RAG?

RAG (Retrieval-Augmented Generation) — гибридная архитектура, объединяющая механизмы поиска с генеративными языковыми моделями.

Проблема:

LLM склонны к галлюцинациям и не имеют доступа к актуальной информации

Решение:

Внешние источники знаний + генеративная модель = точные и обоснованные ответы

Архитектура RAG

┌─────────────────┐
│ Retriever │
│ (поиск данных) │
└─────────────────┘
┌─────────────────┐
│ Vector Store │
│ (база знаний) │
└─────────────────┘
┌─────────────────┐
│ Generator │
│ (генерация LLM) │
└─────────────────┘

Фазы работы RAG:

1. Индексация (Offline)

документы → чанки → эмбеддинги → векторная БД

2. Поиск и генерация (Online)

запрос → поиск → контекст → LLM → ответ

Методы векторизации и эмбеддинги

Классические

  • • One-hot encoding
  • • Bag of words
  • • TF-IDF

Современные

  • • Word2Vec
  • • BERT
  • • Sentence Transformers

SOTA модели

  • • all-MiniLM-L6-v2
  • • bge-base-en-v1.5
  • • YandexGPT Embeddings

Sentence Transformers

  • 10,000+ предобученных моделей на Hugging Face
  • ✅ Поддержка embedding, reranker, sparse encoder моделей
  • ✅ Простой API для семантического поиска
  • ✅ Оптимизация для различных задач
# Пример использования
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("all-MiniLM-L6-v2")
sentences = ["Пример текста", "Другой текст"]
embeddings = model.encode(sentences)

Оценка качества поиска: Recall@k

Метрики поиска (Retrieval)

Recall@k

Доля релевантных документов среди топ-k результатов

Precision@k

Точность среди топ-k результатов

MRR

Mean Reciprocal Rank - обратный ранг первого релевантного результата

Метрики генерации

Answer Relevancy

Релевантность ответа запросу

Faithfulness

Отсутствие галлюцинаций относительно контекста

Context Relevancy

Релевантность извлеченного контекста

Формула Recall@k

Recall@k = Количество релевантных документов в топ-k / Общее количество релевантных документов
Например: если из 5 релевантных документов найдено 3 в топ-10, то Recall@10 = 3/5 = 0.6

Практические примеры

🐍 Python RAG Песочница

Загрузка Pyodide...

💡 Совет: Измените код ниже и нажмите "Запустить" для экспериментов!

Базовый пример RAG

Результат выполнения

Нажмите "Запустить код" для выполнения примера...

Интерактивная визуализация эмбеддингов

Добавить запрос:

Как работает семантический поиск:

Синие точки - документы в векторном пространстве
Красные точки - пользовательские запросы
Зеленая линия - наилучшее семантическое соответствие
Синие линии - семантически связанные документы
Желтые линии - низкое сходство (разные категории)
Проценты - точная семантическая похожесть
🧠 Алгоритм учитывает:
  • Семантические категории: ИИ/ML, Кулинария, Спорт
  • Точное совпадение слов: приготовление ≈ готовить
  • Межкатегорийные связи: борщ ≠ машинное обучение
  • Контекстуальное понимание: реальный анализ значений
💡 Попробуйте:
  • • Запрос "Приготовление борща" → высокое сходство с кулинарией
  • • Запрос про ИИ → найдет только ML-документы
  • • Смешанный запрос → покажет межкатегорийные различия

Проверьте свои знания

Квиз по RAG технологиям

Проверьте, насколько хорошо вы усвоили материал семинара. 5 вопросов о ключевых концепциях RAG.

5 вопросов
О ключевых концепциях
Без ограничения
Времени на обдумывание
Мгновенный
Результат с объяснениями

Yandex Foundation Models для RAG

YandexGPT Pro

Контекст: 32,000 токенов
Качество:
Скорость:

Лучший выбор для сложных RAG задач с длинным контекстом

YandexGPT

Контекст: 8,000 токенов
Качество:
Скорость:

Сбалансированное решение для большинства RAG применений

YandexGPT Lite

Контекст: 4,000 токенов
Качество:
Скорость:

Быстрые ответы для простых RAG запросов

Конфигуратор RAG с Yandex Models

Параметры RAG системы:

Количество документов для контекста

Токенов на чанк

Ваш Folder ID из Yandex Cloud

Предварительный просмотр:

Код будет сгенерирован здесь

Настройте параметры слева и нажмите "Сгенерировать код"

Сгенерированный Python код

Python
Возможности редактора:
  • • ✏️ Редактируйте код прямо в браузере
  • • 🚀 Отправьте код в песочницу для выполнения
  • • 📋 Копируйте или скачайте готовый файл
  • • 🔧 Настройки сохраняются автоматически

Интерактивная песочница Yandex RAG

Выполните сгенерированный код с реальными данными (без моков)

Yandex Cloud авторизация (обязательно для реального выполнения)

Ваш Folder ID из Yandex Cloud

API ключ или IAM токен

Введите данные для авторизации
Исполняемый код:
Pyodide загружается...
Важно:
  • • Код выполняется локально в браузере
  • • API ключи Yandex нужно устанавливать отдельно
  • • Поддерживаются numpy, pandas, requests
  • • Реальные HTTP запросы возможны
Результат выполнения:
Выполните код для просмотра результатов...
Возможности:
  • • 🔄 Реальное выполнение Python кода
  • • 📦 Автоматическая установка пакетов
  • • 🌐 HTTP запросы к внешним API
  • • 📊 Визуализация данных с matplotlib
  • • 🧪 Тестирование RAG алгоритмов

🚀 Быстрый старт с Yandex Foundation Models

Подготовка:
  1. 1. 📝 Зарегистрируйтесь в Yandex Cloud
  2. 2. 🔑 Создайте сервисный аккаунт
  3. 3. 🛠️ Получите API ключ или IAM токен
  4. 4. 📦 Установите SDK: pip install yandexcloud
Использование:
  1. 5. ⚙️ Настройте параметры на вкладке "Конфигурация"
  2. 6. 🔄 Сгенерируйте код RAG
  3. 7. ✏️ Отредактируйте код под свои нужды
  4. 8. 🧪 Протестируйте в песочнице

Совет: Начните с OpenAI Compatible API - это самый простой способ интеграции с существующими проектами.

Поздравляем!

Вы изучили основы RAG технологии и готовы применить знания на практике

Что вы изучили:

  • Архитектуру RAG систем
  • Методы векторизации и эмбеддинги
  • Алгоритмы семантического поиска
  • Метрики оценки качества
  • Практическую реализацию RAG
  • Интеграцию с Yandex Foundation Models

Спасибо за участие в семинаре! Удачи в изучении RAG технологий 🚀