Чему вы научитесь
- Готовить документы к поиску: очищать HTML, нормализовать текст, находить дубликаты
- Резать документы на чанки так, чтобы ответ не попадал на границу
- Писать поиск BM25 и векторный поиск на Python и NumPy
- Объединять результаты двух поисков и переранжировать выдачу
- Измерять качество поиска метриками recall, MRR и nDCG и сравнивать настройки
- Находить, на каком этапе пайплайна теряется нужный документ
- Собирать контекст под лимит токенов и промпт со ссылками на источники
О курсе
RAG-система отвечает на вопросы по базе знаний компании. Перед ответом она находит фрагменты документов, которые относятся к вопросу, и передаёт их языковой модели вместе с вопросом. Модель видит только найденные фрагменты, поэтому качество ответа определяется поиском и сборкой контекста. Курс посвящён этой части системы: от выгрузки документов до готового промпта со ссылками на источники.
Все задачи решаются на одном примере — базе знаний вымышленного интернет-магазина электроники «Ампер»: доставка, возврат, гарантия, оплата, бонусная программа. Каждый шаг поиска вы пишете сами на Python и NumPy и проверяете, насколько хорошо он находит ответы на вопросы покупателей. Обращаться к платным API языковых моделей не нужно: всё решается прямо в курсе.
Программа
- Введение в RAG: путь вопроса через систему, формат документов базы знаний.
- Основы NumPy для поиска: массивы, маски, сортировка, матрицы, скалярное произведение и косинус.
- Подготовка текста: очистка HTML, нормализация Unicode, токенизация, стоп-слова, стемминг, поиск дубликатов.
- Резка на чанки: окна с перекрытием, резка по предложениям и абзацам, заголовки и родительские чанки.
- Лексический поиск: инвертированный индекс, TF-IDF, BM25, поля и фильтры по метаданным.
- Векторный поиск: эмбеддинги, LSA, точный и приближённый поиск ближайших векторов, квантизация.
- Оценка качества поиска: разметка, recall, precision, MRR, nDCG, бутстрэп, анализ провалов.
- Улучшение выдачи: гибридный поиск, Reciprocal Rank Fusion, преобразование запроса, реранкинг, MMR.
- Сборка контекста: токены и бюджет окна, повторы и порядок чанков, упаковка в бюджет, промпт с источниками.
- Итоговый проект: поиск по базе знаний для LLM-агента. Автор сопровождает проект до рабочей версии, которую можно выложить на GitHub.
Для кого этот курс
Начальные требования
Python: функции, списки, словари, циклы, генераторы списков. Опыт работы с NumPy не обязателен, основы разбираются в модуле 2. Математика на уровне школьной программы: сумма, логарифм, квадратный корень. Векторы, косинус и метрики качества объясняются в курсе.
Как проходит обучение
Текстовый курс: уроки с примерами, практические задачи на Python и тестовые вопросы после каждой темы.
По любому шагу можно задать вопрос автору в комментариях к шагу и получить индивидуальный разбор. Обратная связь входит в материалы курса.
Программа курса
В курс входят
- 39 уроков
- 141 тест
- 133 интерактивные задачи
Наши преподаватели
Что вы получаете
- Сертификат о прохождении курса
- Свой поисковый пайплайн для RAG на Python
- Проект для GitHub: RAG для LLM-агента
- Практику на базе знаний интернет-магазина
- Опыт разработки поиска для чат-ботов и ассистентов на LLM