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.

semantic kernel

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.

semantic kernel

More Information

Microsoft.Extensions.VectorData.Abstractions On NuGet

Semantic Store Connectors Guide

Related Articles

MongoDB Adds Vector Search

MariaDB 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.

Banner


Windows 11 Adoption Takes A Downturn
11/12/2024

With Windows 10 End of Life only ten months away, Microsoft is stepping up its campaign to get Windows users to upgrade to Windows 11. But while Windows 11 had been gaining users at a steady rate at t [ ... ]



OpenSilver Adds XAML Designer For Visual Studio Code
12/12/2024

OpenSilver 3.1 has been released. This version adds a drag-and-drop XAML designer for Visual Studio Code (VS Code), a new modern UI theme, and expanded support for WPF features. The open-source altern [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info