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


Gender Differences In Coding Style
13/11/2024

A novel investigation into the gender gap between men and women regarding coding ability was undertaken by Dr Siân Brooke. Her conclusion? There is a difference in the Python code [ ... ]



Kotlin Ktor Improves Client-Server Support
04/11/2024

Kotlin Ktor 3 is now available with better performance and improvements including support for server-sent events and CSRF (Cross-Site Request Forgery) protection.


More News

espbook

 

Comments




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