Урок 4 із 7
Векторні бази даних
6 хв читання
У тебе вкладено мільйон фрагментів. Надходить питання. Порівнювати його з усім мільйоном векторів, по одному, на кожен запит — оце такий план?
База даних, створена для близькості
Векторна база даних зберігає твої ембединги й швидко відповідає на одне питання: які збережені вектори найближчі до цього? Повний перебір працює для кількох тисяч, але не для мільйонів на кожен запит. Тож векторна база даних використовує індекс: хитрий спосіб знайти найближчих сусідів, не перебираючи всіх.
Векторна база даних зберігає ембединги й швидко знаходить найближчих сусідів — пошукова половина RAG у масштабі.
Достатньо швидко, а не ідеально
Трюк — наближений пошук найближчих сусідів: він міняє краплину точності на величезне прискорення й майже завжди повертає справжні найближчі фрагменти за мілісекунди, а не секунди. Поряд із векторами зберігаються метадані (джерело, дата, автор), тож можна фільтрувати («лише документи цього проєкту») до або після пошуку.
Наближений пошук міняє краплину точності на швидкість; метадані дають змогу відфільтрувати потрібну підмножину.
Спеціалізована векторна база потрібна не завжди. Для кількох тисяч фрагментів пошук у пам'яті або векторне розширення бази, яку ти вже маєш, часто простіше. Бери спеціалізовану, коли цього вимагає масштаб чи фільтрування.
Якщо коротко
- —Векторна база даних зберігає ембединги й швидко знаходить найближчих сусідів.
- —Індекс (наближений пошук) уникає перебору кожного вектора на кожен запит.
- —Збережені поруч метадані дають змогу фільтрувати за джерелом, датою чи проєктом.
Твій прототип порівнює кожен запит з усіма 5 000 фрагментів, і це цілком швидко. Керівник питає, навіщо взагалі потрібна векторна база. Чесна відповідь?
Продовжити в застосунку
Пройди весь курс «RAG і пошук» — з відстеженням
Отримай персональний план, прогрес і стріки в застосунку — цей урок і кожен наступний, по порядку.