November 25th, 2024

Unlocking the Power of Memory: Announcing General Availability of Semantic Kernel’s Memory Packages

We are thrilled to announce the General Availability (GA) of our Memory packages for .NET, Java, and Python! The Semantic Kernel team and our partners have been working hard to allow you to quickly connect to vector stores and make it easy for you to do embeddings and data retrieval between stores.

Transforming Data Management with Vector Stores

With the Memory package, you can take advantage of:

  • Enhanced Efficiency: Rapid access to data through advanced embedding and a model-first developer experience.
  • Flexibility: A diverse range of vector store connectors with custom schema support to cater to your unique application needs.
  • Scalability: Seamless management of increasing data as your applications grow.

Vector Store Connectors include (with more coming):

Azure AI Search Cosmos DB (MongoDB and NoSQL) Elasticsearch In-Memory
JDBC MongoDB Pinecone Qdrant
Redis SQLite Weaviate

For the most up to date list of available connectors see our out-of-the-box connectors page.

Seamless integration with Semantic Kernel Chat Completion for RAG

Our Vector Store connectors can be seamlessly added to chat completion, so you can do Retrieval Augmented Generation (RAG) with your data. With two simple steps, Semantic Kernel allows you to add your vector store as a Semantic Kernel plugin, so that you can search your database for additional context. Invoke this plugin directly from your prompt template or enable function calling, allowing the AI model to choose it for invocation.

See our step by step guide on how to use your vector store for RAG.

Benefits of our new Vector Store abstractions

The new Vector Store abstractions support a range of existing and new features, improving on the older Memory Store abstractions.

Feature Memory Store abstractions Vector Store abstractions
Supports record (batch) upsert, get and delete ✅ Yes ✅ Yes
Supports collection list, create and delete ✅ Yes ✅ Yes
Supports vector search ✅ Yes ✅ Yes
Supports choosing your preferred vector search index and distance function ❌ No ✅ Yes
Supports multiple vectors per record ❌ No ✅ Yes
Supports custom schemas ❌ No ✅ Yes
Supports multiple vector types ❌ No ✅ Yes
Supports metadata pre-filtering with vector search ❌ No ✅ Yes

 

Simplified Migration Process

For developers transitioning from older Memory Stores to the new package, we provide a clear migration guide.

Get Started Today!

We encourage you to explore the full potential of these Memory packages. To help you hit the ground running, we have provided links to our learning site and sample projects in our GitHub repository for all three programming languages:

 

Author

Wes Steyn
Principal Software Engineer

0 comments