Векторные базы данных для систем эмбеддингов

Введение в эмбеддинги с OpenAI API

Emmanuel Pire

Senior Software Engineer, DataCamp

Ограничения текущего подхода

  • Загрузка всех эмбеддингов в память (1536 чисел float ~ 13 кБ/эмбеддинг)
  • Пересчёт эмбеддингов при каждом новом запросе
  • Вычисление косинусных расстояний и сортировка работают медленно и масштабируются линейно

Диаграмма, показывающая, как документы и запрос встраиваются при каждом запросе без решения для хранения.

Введение в эмбеддинги с OpenAI API

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

  • Встроенные документы хранятся и запрашиваются из векторной базы данных

Диаграмма, показывающая, как векторная база данных используется для хранения эмбеддингов документов и возврата результатов по встроенному запросу.

Введение в эмбеддинги с OpenAI API

 

NoSQL-база данных
  • Более гибкая структура, обеспечивающая ускоренные запросы

Примеры схем NoSQL-баз данных: «ключ — значение», документные и графовые.

 

SQL/реляционная база данных
  • Данные структурированы в таблицы, строки и столбцы

Таблицы со столбцами и строками в SQL, или реляционной, базе данных.

Введение в эмбеддинги с OpenAI API

Что хранить в базе

 

  • Эмбеддинги
  • Исходные тексты
  • Метаданные
    • Идентификаторы и ссылки
    • Дополнительные данные для фильтрации результатов

 

Совет: не храните исходный текст в метаданных!

Иконка векторной базы данных.

Введение в эмбеддинги с OpenAI API

Обзор векторных баз данных

Наиболее популярные решения для векторных баз данных, сгруппированные по открытости исходного кода и специализации.

1 Автор изображения: Yingjun Wu
Введение в эмбеддинги с OpenAI API

Какое решение выбрать?

 

  • Управление базой данных:
    • Управляемое → дороже, но снижает нагрузку на команду
    • Самостоятельное → дешевле, но требует времени и экспертизы
  • Открытый или коммерческий код?
    • Открытый исходный код → гибкость и экономичность
    • Коммерческий → лучшая поддержка, расширенные функции и соответствие требованиям

 

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

Логотип Chroma.

Введение в эмбеддинги с OpenAI API

Давайте потренируемся!

Введение в эмбеддинги с OpenAI API

Preparing Video For Download...