Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Vector stores are used in numerous domains and situations across analytical and generative AI, including natural language processing, video and image recognition, recommendation systems, and search.
What is a vector store?
A vector store (also called a vector database) is a database that stores and manages vector embeddings. Vector embeddings are mathematical representations of data in a high-dimensional space.
In this space, each dimension corresponds to a feature of the data. Tens of thousands of dimensions might be used to represent sophisticated data. A vector's position in this space represents its characteristics. Words, phrases, entire documents, images, audio, and other types of data can all be vectorized.
How does a vector store work?
In a vector store, you use vector search algorithms to index and query embeddings. Well-known vector search algorithms include Disk Approximate Nearest Neighbor (DiskANN), Hierarchical Navigable Small World (HNSW), and Inverted File with Flat Compression (IVFFlat).
Vector search is a method that helps you find similar items based on their data characteristics rather than by exact matches on a property field. This technique is useful in applications such as searching for similar text, finding related images, making recommendations, or even detecting anomalies.
Vector search is used to query the vector embeddings of your data that you created by using a machine learning model, via an embeddings API. Examples of embeddings APIs are Azure OpenAI Embeddings and Hugging Face on Azure.
Vector search measures the distance between the data vectors and your query vector. The data vectors that are closest to your query vector are the ones that are most similar semantically.
When you're using Azure Database for PostgreSQL as a vector store, you can store, index, and query embeddings alongside the original data. This approach eliminates the extra cost of replicating data in a separate, pure vector database.
This architecture also keeps the vector embeddings and original data together. Keeping the embeddings and the data together better facilitates multimodal data operations. It also enables greater data consistency, scale, and performance.