Какие библиотеки и инструменты используются для построения RAG и векторных баз данных
Что проверяют
Собирали ли вы RAG руками или только читали про него. Интервьюеру важно, чтобы вы разделяли слои конвейера и под каждый называли инструмент с причиной выбора. Следом обычно спрашивают, как вы оцениваете качество поиска и почему выбрали именно эту базу.
Как отвечать
Идите по конвейеру, а не списком брендов:
- загрузка и нарезка: парсеры PDF и HTML,
RecursiveCharacterTextSplitterиз LangChain или сплиттеры LlamaIndex. Размер чанка и перекрытие подбираются под модель эмбеддингов и тип документов; - эмбеддинги:
sentence-transformersс многоязычными моделями вродеmultilingual-e5илиbge-m3, либо эмбеддинги через API провайдера. Для русского текста модель проверяют на своих данных, а не по общему лидерборду; - поиск по векторам: библиотеки
faissиhnswlib, если индекс живёт в памяти процесса; базы Qdrant, Milvus, Chroma, когда нужны фильтры по метаданным, обновления и репликация;pgvector, если данные уже лежат в PostgreSQL; - гибридный поиск и реранкинг: BM25 плюс плотный поиск, слияние через Reciprocal Rank Fusion, затем cross-encoder переранжирует top-k;
- оркестрация: LangChain, LlamaIndex или Haystack. Для простого сценария хватает сотни строк своего кода;
- оценка: RAGAS или свой набор вопросов с эталонными документами, recall@k и MRR для поиска отдельно от качества ответа.
Сильнее звучит, если вы объясняете выбор: pgvector с HNSW-индексом закрывает миллионы векторов без отдельной инфраструктуры, а выделенная база нужна при десятках миллионов и сложной фильтрации.
Где спотыкаются
Путают библиотеку и базу. FAISS это индекс в памяти без транзакций, прав доступа и фильтрации по полям, всё это приходится обвязывать самому.
Оценивают только финальный ответ модели. Если нужный фрагмент не попал в top-k, генерация не спасёт, поэтому поиск меряют отдельно.
Не знают параметров индекса. У HNSW точность и скорость регулируются M и ef_construction при построении и ef_search при запросе, а приближённый поиск по определению может терять релевантные документы.