Хранилища векторов на гибком сервере База данных Azure для PostgreSQL

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

Что такое хранилище векторов?

Векторное хранилище (также называемое векторной базой данных) — это база данных, которая хранит векторные внедрения и управляет ими. Векторные внедрения — это математические представления данных в высокомерном пространстве.

В этом пространстве каждое измерение соответствует признаку данных. Десятки тысяч измерений могут использоваться для представления сложных данных. Позиция вектора в этом пространстве представляет свои характеристики. Слова, фразы, целые документы, изображения, аудио и другие типы данных могут быть векторизированы.

Как работает векторное хранилище?

В хранилище векторов используются алгоритмы векторного поиска для индексирования и внедрения запросов. Известные алгоритмы поиска векторов включают Диск аппроксимации ближайшего соседа (DiskANN),Иерархический навигационный малый мир (HNSW) и Инвертированный файл с плоским сжатием (IVFFlat).

Векторный поиск — это метод, который помогает находить аналогичные элементы на основе их характеристик данных, а не по точным совпадениям в поле свойства. Этот метод полезен в таких приложениях, как поиск аналогичного текста, поиск связанных изображений, рекомендации или даже обнаружение аномалий.

Векторный поиск используется для запроса векторных эмбеддингов ваших данных, созданных с помощью модели машинного обучения, через API эмбеддингов. Примерами API встраивания являются Azure OpenAI Embeddings и Hugging Face на Azure.

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

При использовании Базы данных Azure для PostgreSQL в качестве векторного хранилища можно хранить, индексировать и запрашивать внедрение вместе с исходными данными. Этот подход устраняет дополнительные затраты на репликацию данных в отдельной чистой векторной базе данных.

Эта архитектура также сохраняет векторные внедрения и исходные данные вместе. Сохранение векторов вложений и данных вместе лучше облегчает многомодальные операции с данными. Кроме того, он обеспечивает более высокую согласованность данных, масштабирование и производительность.