NLP RAG Python
RAG-система (архитектура)
- Как организовать pipeline RAG (запрос → токенизация → эмбеддинги → векторный поиск → LLM)?
- Какой алгоритм для векторного поиска использовать? Почему именно косинусное расстояние?
- Какие ещё метрики расстояния знаешь (евклидово, манхэттенское)? Когда что использовать?
- Как бороться с галлюцинациями (жёсткий промт, ссылка на документ, источник)?
- Какие методы оценки качества RAG (golden dataset, human evaluation, LLM-Judge)?
- Зачем нужен реранкер? Когда без него можно обойтись?
Предобработка текста
- Как построить pipeline предобработки текста перед обучением классификатора?
- Что делать перед токенизацией (очистка от спецсимволов, приведение к единому регистру)?
- Что такое лемматизация? Чем отличается от стемминга?
- Чем отличается токенизация от векторизации?
Векторизация
- Как векторизовать текст помимо эмбеддингов (TF-IDF, BM25, bag of words, Word2Vec)?
- Что такое TF-IDF? Расшифруй и объясни формулу.
- Чем BM25 отличается от TF-IDF?
Дисбаланс классов
- Что делать, если в выборке для бинарной классификации 1000 одного класса и 5000 другого?
- Какие подходы (синтетика через LLM, аугментация, веса в loss-функции, oversampling)?
Переобучение
- Как понять, что модель переобучилась?
- Что с этим делать (регуляризация, меньше параметров, больше данных, кросс-валидация)?
NER
- Что такое Named Entity Recognition? Какие задачи решает?
Трансформеры
- Из каких двух больших блоков состоит трансформер (encoder, decoder)?
- Какие модели энкодерные, какие декодерные, какие — полные трансформеры (BERT, GPT, T5)?
BERT
- На каких двух задачах обучали BERT (Masked Language Modeling + Next Sentence Prediction)?
- Чем GPT отличается от BERT с точки зрения генерации?
Семантический поиск vs BM25
- В чём разница между BM25-поиском и поиском по эмбеддингам?
- Когда BM25 не справится (синонимы, перефразировка)?
Bi-encoders vs Cross-encoders
- В чём разница между Bi-encoder и Cross-encoder? Когда что использовать?
Ранжирование
- Какие основные метрики ранжирования знаешь?