{"id":3732,"date":"2024-11-25T08:07:48","date_gmt":"2024-11-25T16:07:48","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/semantic-kernel\/?p=3732"},"modified":"2024-11-25T08:07:48","modified_gmt":"2024-11-25T16:07:48","slug":"unlocking-the-power-of-memory-announcing-general-availability-of-semantic-kernels-memory-packages","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/agent-framework\/unlocking-the-power-of-memory-announcing-general-availability-of-semantic-kernels-memory-packages\/","title":{"rendered":"Unlocking the Power of Memory: Announcing General Availability of Semantic Kernel\u2019s Memory Packages"},"content":{"rendered":"<p>We are thrilled to announce the General Availability (GA) of our Memory packages for .NET, <a href=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/announcing-semantic-kernel-for-java-1-4-0\/\">Java<\/a>, 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.<\/p>\n<div class=\"anchor-heading-wrapper\">\n<h4 id=\"transforming-data-management-with-vector-stores\" class=\"anchor-heading\" data-name=\"transforming-data-management-with-vector-stores\">Transforming Data Management with Vector Stores<\/h4>\n<\/div>\n<p>With the Memory package, you can take advantage of:<\/p>\n<ul>\n<li><strong>Enhanced Efficiency<\/strong>: Rapid access to data through advanced embedding and a model-first developer experience.<\/li>\n<li><strong>Flexibility<\/strong>: A diverse range of vector store connectors with custom schema support to cater to your unique application needs.<\/li>\n<li><strong>Scalability<\/strong>: Seamless management of increasing data as your applications grow.<\/li>\n<\/ul>\n<p>Vector Store Connectors include (with more coming):<\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 103px;\">\n<tbody>\n<tr style=\"height: 10px;\">\n<td style=\"width: 12.4136%; height: 10px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/azure-ai-search-connector\">Azure AI Search<\/a><\/td>\n<td style=\"width: 20.8983%; height: 10px;\">Cosmos DB\n(<a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/azure-cosmosdb-mongodb-connector\">MongoDB<\/a> and <a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/azure-cosmosdb-nosql-connector\">NoSQL<\/a>)<\/td>\n<td style=\"width: 10.6527%; height: 10px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/elasticsearch-connector\">Elasticsearch<\/a><\/td>\n<td style=\"width: 9.52462%; height: 10px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/inmemory-connector\">In-Memory<\/a><\/td>\n<\/tr>\n<tr style=\"height: 44px;\">\n<td style=\"width: 12.4136%; height: 44px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/jdbc-connector\">JDBC<\/a><\/td>\n<td style=\"width: 20.8983%; height: 44px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/mongodb-connector\">MongoDB<\/a><\/td>\n<td style=\"width: 10.6527%; height: 44px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/pinecone-connector\">Pinecone<\/a><\/td>\n<td style=\"width: 9.52462%; height: 44px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/qdrant-connector\">Qdrant<\/a><\/td>\n<\/tr>\n<tr style=\"height: 49px;\">\n<td style=\"width: 12.4136%; height: 49px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/redis-connector\">Redis<\/a><\/td>\n<td style=\"width: 20.8983%; height: 49px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/sqlite-connector\">SQLite<\/a><\/td>\n<td style=\"width: 10.6527%; height: 49px;\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/weaviate-connector\">Weaviate<\/a><\/td>\n<td style=\"width: 9.52462%; height: 49px;\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>For the most up to date list of available connectors see our <a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\/out-of-the-box-connectors\/\">out-of-the-box connectors<\/a> page.<\/p>\n<h4>Seamless integration with Semantic Kernel Chat Completion for RAG<\/h4>\n<p>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 <a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/text-search\/text-search-vector-stores?pivots=programming-language-csharp#creating-a-search-plugin-from-a-vector-store\">directly from your prompt template<\/a> or enable <a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/ai-services\/chat-completion\/function-calling\">function calling<\/a>, allowing the AI model to choose it for invocation.<\/p>\n<p>See our <a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/text-search\/text-search-vector-stores\">step by step guide<\/a> on how to use your vector store for RAG.<\/p>\n<h4 id=\"simplified-migration-process\" class=\"anchor-heading\" data-name=\"simplified-migration-process\">Benefits of our new Vector Store abstractions<\/h4>\n<p>The new Vector Store abstractions support a range of existing and new features, improving on the older Memory Store abstractions.<\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 264px;\">\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\"><strong>Feature<\/strong><\/td>\n<th style=\"width: 33.3333%; height: 24px;\">Memory Store abstractions<\/th>\n<th style=\"width: 33.3333%; height: 24px;\">Vector Store\u00a0abstractions<\/th>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports record (batch) upsert, get and delete<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports collection list, create and delete<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports vector search<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports choosing your preferred vector search index and distance function<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u274c No<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports multiple vectors per record<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u274c No<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports custom schemas<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u274c No<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports multiple vector types<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u274c No<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 33.3333%; height: 24px;\">Supports metadata pre-filtering with vector search<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u274c No<\/td>\n<td style=\"width: 33.3333%; text-align: center; height: 24px;\">\u2705 Yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<div class=\"anchor-heading-wrapper\">\n<h4 id=\"simplified-migration-process\" class=\"anchor-heading\" data-name=\"simplified-migration-process\">Simplified Migration Process<\/h4>\n<\/div>\n<p>For developers transitioning from older Memory Stores to the new package, we provide a clear <a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/support\/migration\/memory-store-migration\">migration guide<\/a>.<\/p>\n<h4 id=\"simplified-migration-process\" class=\"anchor-heading\" data-name=\"simplified-migration-process\">Get Started Today!<\/h4>\n<p>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:<\/p>\n<ul>\n<li><span aria-haspopup=\"true\" aria-expanded=\"false\"><a href=\"https:\/\/learn.microsoft.com\/semantic-kernel\/concepts\/vector-store-connectors\">Learn Site<\/a><\/span><\/li>\n<li><span aria-haspopup=\"true\" aria-expanded=\"false\"><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/samples\/Demos\/VectorStoreRAG\">GitHub Samples for .NET<\/a><\/span><\/li>\n<li><span aria-haspopup=\"true\" aria-expanded=\"false\"><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/python\/samples\/concepts\/rag\">GitHub Samples for Python<\/a><\/span><\/li>\n<li><span aria-haspopup=\"true\" aria-expanded=\"false\"><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel-java\/blob\/dcd795c5c449c0718f51d3f6f20f62ffe344c3cc\/samples\/semantickernel-concepts\/semantickernel-syntax-examples\/src\/main\/java\/com\/microsoft\/semantickernel\/samples\/syntaxexamples\/Example55_TextChunker.java#L45\">GitHub Samples for Java<\/a><\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":162052,"featured_media":2300,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[78,47,24,34,19],"tags":[79,20,53,81],"class_list":["post-3732","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-net","category-announcement","category-java","category-python-2","category-vector-database","tag-net","tag-java","tag-python","tag-release"],"acf":[],"blog_post_summary":"<p>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 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/3732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/users\/162052"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/comments?post=3732"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/3732\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media\/2300"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media?parent=3732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/categories?post=3732"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/tags?post=3732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}