Векторні бази даних для систем з embeddings

Вступ до Embeddings з OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Обмеження поточного підходу

  • Завантаження всіх embeddings у пам'ять (1536 floats ~ 13 kB/embedding)
  • Перерахунок embeddings для кожного нового запиту
  • Обчислення косинусних відстаней для кожного embedding і сортування повільні та масштабуються лінійно

Схема: документи та запит вбудовуються щоразу без рішення для зберігання.

Вступ до Embeddings з OpenAI API

Векторні бази даних

  • Вбудовані документи зберігаються та запитуються з векторної бази даних

Схема: як векторна БД зберігає вбудовування документів і повертає результати на основі вбудованого запиту.

Вступ до Embeddings з OpenAI API

 

NoSQL Database
  • Гнучкіша структура, що дає швидші запити

Приклади схем NoSQL: key:value, документні та графові БД.

 

SQL/Relational Database
  • Структуровані дані в таблицях, рядках і стовпцях

Таблиці зі стовпцями та рядками в SQL (реляційній) базі даних.

Вступ до Embeddings з OpenAI API

Що зберігати

 

  • Embeddings
  • Джерельні тексти
  • Метадані
    • ID та посилання
    • Додаткові дані для фільтрації результатів

 

Порада: не зберігайте джерельний текст як метадані!

Іконка векторної бази даних.

Вступ до Embeddings з OpenAI API

Ландшафт векторних баз даних

Популярні рішення для векторних БД, відсортовані за відкритістю коду та спеціалізацією.

1 Image Credit: Yingjun Wu
Вступ до Embeddings з OpenAI API

Яке рішення найкраще?

 

  • Керування базою даних:
    • Керована → дорожча, але зменшує навантаження
    • Самостійне керування → дешевше, але потребує часу й експертизи
  • Відкрита чи комерційна?
    • Відкрита → гнучка й економна
    • Комерційна → краща підтримка, більше можливостей і відповідність вимогам

 

  • Моделі даних: чи підходить тип даних до певного типу БД?
  • Специфічні функції: чи залежить ваш кейс від певних можливостей, як-от мультимодальне зберігання?

Логотип Chroma.

Вступ до Embeddings з OpenAI API

Давайте потренуємось!

Вступ до Embeddings з OpenAI API

Preparing Video For Download...