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