📝 Задания

← К оглавлению урока

⚡ Что сделать

  • Объяснить архитектуру RAG своими словами.
  • Собрать мини-RAG по 4-6 текстовым документам.
  • Сравнить k, chunk size и качество найденных источников.
  • Описать 2-3 реальные задачи, где RAG особенно полезен.

Часть 1. Проверка понимания

  1. Что означает Retrieval-Augmented Generation?
  2. Какое ограничение LLM закрывает RAG?
  3. Почему в RAG нужны эмбеддинги?
  4. Чем векторный поиск отличается от поиска по ключевым словам?
  5. Что такое чанк и зачем нужен chunk_overlap?
  6. Почему важно возвращать источники вместе с ответом?
  7. Когда лучше выбрать RAG, а когда fine-tuning?

Часть 2. Практика: свой мини-RAG

  1. Создайте 4-6 коротких документов по одной теме: курс, продукт, FAQ, правила, техническая документация.
  2. Превратите их в Document с метаданными source.
  3. Разбейте на чанки через RecursiveCharacterTextSplitter.
  4. Постройте FAISS vector store с GoogleGenerativeAIEmbeddings.
  5. Соберите LCEL-цепочку, которая отвечает только по найденному контексту.
  6. Проверьте минимум 5 вопросов: 3 с ответом в базе и 2 без ответа в базе.

Часть 3. Эксперименты

  1. Сравните k=1, k=3, k=5. Где ответ стал лучше, а где шумнее?
  2. Сравните два разбиения: маленькие чанки и крупные чанки.
  3. Составьте таблицу: вопрос, ожидаемый источник, найденный источник, качество ответа.
  4. Добавьте вопрос, на который в базе нет ответа. Проверьте, умеет ли модель сказать об отсутствии информации.

Часть 4. ДЗ из LMS

  1. Опишите 2-3 задачи, где RAG был бы особенно полезен, помимо примеров из урока.
  2. Для каждой задачи объясните, какую проблему решает RAG.
  3. Найдите реальные RAG-системы или инструменты: компании, продукты, open-source фреймворки.
  4. Подготовьте короткий вывод: где RAG даёт ценность, а где его недостаточно.