Найти тему
Purple Cursor

Векторные Базы Данных за 3 минуты

Оглавление

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

Что такое Вектор?

Вектор - это просто массив чисел, но вся его крутость заключается в том, что сам вектор может представлять собой более сложные объекты, такие как слова, аудиофайлы, предложения или изображения:

Графическое Изображение Работы Векторной Базы Данных
Графическое Изображение Работы Векторной Базы Данных

Эмбеддинги

Заходя в магазин продуктов, мы видим стеллажи распределенных по типу товаров. Например яблоки и груши в разделе фруктов, рядом стеллаж овощей и, как правило у кассы, различные батончики и жвачки.

Обратите внимание, как все похожие объекты сгруппированы вместе.

Аналогично работают и векторные пространства - Эмбеддинги (от eng. embedding). Единственное их различие от магазина продуктов в том, что вместо яблок и груш они сопоставляют семантическое значение слов или схожесть функций в практически любой другой тип данных. Затем эмбеддинги можно использовать как движок для поисковых/рекомендательных систем или генерации текста, примером которой и является всем известный ChatGPT.

Векторные Базы Данных

Эмбеддинги это конечно супер… но где их хранить и как быстро запрашивать данные?

И тут на помощь приходят Векторные Базы Данных.

В документах Реляционной Базы Данных у нас есть строки и столбцы, в Документной - документы и коллекции.В Векторной Базе Данных у нас есть только массивы чисел, сгруппированные в кластеры на основе их сходства. Это и делает Векторные БД идеальным выбором для работы с ИИ.


В реляционной базе данных
PostgreSQL есть инструмент PG Vector, который предлагает схожий тип функциональности. Redis также обладает первоклассной поддержкой векторов.

Так же появляются и новые Векторные Базы Данных, такие как Weaviate и Milvus, написанные на Go, и довольно известный Pinecone, но он не является опенсорсным.

-2

Почему же все о них говорят?

Настоящая причина популярности Векторных Баз Данных заключается в их способности расширить спектр возможностей LLM с помощью долгосрочной памяти:

Возьмем за базу любую LLM - пусть это будет GPT-4. Затем предоставим собственные данные в виде векторной базы данных.

Теперь, когда пользователь делает запрос к нашей Языковой Модели, она ищет соответствующие документы в нашей базе данных для обновления контекста запроса, что и значительно влияет на точность окончательного ответа пользователю.

Надеюсь вам понравилась данная статья и вы открыли для себя что то новое :)

До Новых Встреч!

-3

Наука
7 млн интересуются