Векторная база данных
Векторная база — хранилище эмбеддингов, умеющее быстро находить ближайшие по смыслу записи. Это техническая основа RAG: именно она отвечает на вопрос, какие фрагменты подставить модели в контекст.
Как это работает
Обычная база ищет точные совпадения: строку, число, диапазон. Векторная ищет ближайших соседей в пространстве из сотен измерений — то есть записи, похожие по смыслу, а не по написанию.
Точный перебор всех векторов при миллионах записей слишком медленный, поэтому используется приближённый поиск: он жертвует небольшой долей точности ради ответа за миллисекунды. Этот компромисс настраивается.
Отдельная база нужна не всегда. При небольших объёмах расширения к обычным СУБД справляются, и заводить отдельную систему стоит, когда счёт идёт на сотни тысяч фрагментов.
Что решает качество
- Нарезка документовСлишком мелкие фрагменты теряют контекст, слишком крупные размывают поиск. Это главная настройка всей схемы.
- Одна модель эмбеддинговИндексация и поиск должны идти одной моделью. Сменили её — базу нужно строить заново.
- Фильтры по метаданнымДата, автор, раздел рядом с вектором позволяют сузить поиск до актуального, а не искать по всему архиву.
- Гибридный поиск обычно лучшеСочетание векторного поиска с обычным по ключевым словам находит и смысл, и точные термины вроде артикулов.