Microsoft Introduces Vector Abstractions Library For .NET |
Written by Kay Ewbank |
Thursday, 21 November 2024 |
Microsoft has announced a preview release of the Microsoft Extensions VectorData Abstractions library, which can be used to help integrate vector stores into .NET applications and libraries. The library is designed to make it easier for developers to integrate their solutions with Semantic Kernel and the wider .NET AI ecosystem. Microsoft's Semantic Kernel (SK) is an open source lightweight framework that lets developers mix conventional programming languages with AI prompts. The new library is a set of core .NET libraries providing a unified layer of C# abstractions for interacting with vector stores. It aims to give vector store vendors a way to implement .NET abstractions through a streamlined, lightweight package. Introducing the new library, Mark Wallace, Principal Engineering Manager, said: "For those already familiar with Semantic Kernel, think of Microsoft.Extensions.VectorData as the evolution of the Microsoft.SemanticKernel.Plugins.Memory package that you are currently using to access Vector Stores." A vector store is typically found in a vector database, and is used to store data and perform vector searches. It is a digital storage system that holds vectors, numbers that provide a unique footprint for a piece of data such as text or images. Semantic Kernel and .NET provide an abstraction for interacting with vector stores and a list of out-of-the-box connectors that implement these abstractions. Features include creating, listing and deleting collections of records, and uploading, retrieving and deleting records. The libraries offer a unified layer of C# abstractions that can be used for interacting with vector stores. The out-of-the-box connectors available at the moment Azure AI Search; Azure CosmosDB; MongoDB; Azure CosmosDB; NoSQL; Elasticsearch; In-memory; JDBC; Pinecone; Qdrant; Redis; SQLite;Volatile (in-memory) and Weaviate. The main interfaces in the Vector Store abstraction are IVectorStore, which contains operations that spans across all collections in the vector store, such as ListCollectionNames. It also provides the ability to get recordcollection instances. IVectorStoreRecordCollection represents a collection and a way to check if the collection exists, create it or delete it. The interface also provides methods to upsert, get and delete records. IVectorizedSearch provides a method for doing vector searches, while IVectorizableTextSearch can be used for searches where the vector database has the ability to generate embeddings automatically. The Microsoft.Extensions.VectorData.Abstractions library is available now. More InformationMicrosoft.Extensions.VectorData.Abstractions On NuGet Semantic Store Connectors Guide Related ArticlesMariaDB Introduces Vector Search Semantic Kernel for Java Now GA Apache Lucene Adds Similarity Vector Searches Microsoft Goes All Out On Generative AI To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info |