1
1
# Kernel Memory
2
2
3
3
[ ![ License: MIT] ( https://img.shields.io/github/license/microsoft/kernel-memory )] ( https://github.com/microsoft/kernel-memory/blob/main/LICENSE )
4
- [ ![ Discord] ( https://img.shields.io/discord/1063152441819942922?label=Discord&logo=discord&logoColor=white&color=d82679 )] ( https://aka.ms/SKDiscord )
4
+ [ ![ Discord] ( https://img.shields.io/discord/1063152441819942922?label=Discord&logo=discord&logoColor=white&color=d82679 )] ( https://aka.ms/KMdiscord )
5
5
6
- ** Kernel Memory** (KM) is an open-source [ service] ( service/Service/README.md ) and
7
- [ plugin] ( https://www.microsoft.com/en-us/microsoft-365/blog/2023/05/23/empowering-every-developer-with-plugins-for-microsoft-365-copilot/ )
6
+ ** Kernel Memory** (KM) is a ** multi-modal [ AI Service] ( service/Service/README.md ) **
8
7
specialized in the efficient indexing of datasets through custom continuous data
9
- hybrid pipelines. For some scenarios KM is also available as a library, and soon
10
- as a Docker container.
8
+ hybrid pipelines, with support for
9
+ ** [ Retrieval Augmented Generation] ( https://en.wikipedia.org/wiki/Prompt_engineering#Retrieval-augmented_generation ) ** (RAG),
10
+ synthetic memory, prompt engineering, and custom semantic memory processing.
11
+
12
+ KM includes a GPT ** [ Plugin] ( https://www.microsoft.com/en-us/microsoft-365/blog/2023/05/23/empowering-every-developer-with-plugins-for-microsoft-365-copilot/ ) ** ,
13
+ ** web clients** , a .NET library for embedded applications, and soon as a Docker container.
11
14
12
15
![ image] ( https://github.com/microsoft/kernel-memory/assets/371009/31894afa-d19e-4e9b-8d0f-cb889bf5c77f )
13
16
@@ -22,23 +25,6 @@ Designed for seamless integration as a Plugin with
22
25
Copilot and ChatGPT, Kernel Memory enhances data-driven features in applications
23
26
built for most popular AI platforms.
24
27
25
- ## Repository Guidance
26
-
27
- This repository is a public resource designed to showcase best practices and efficient architecture
28
- for specific programming scenarios. Although bug fixes and secure, scalable enhancements are part
29
- of our focus, rigorous reviews and strategic considerations of the code are recommended before
30
- production use. Similar to the nature of AI development, the project will rapidly evolve. We warmly
31
- welcome you to participate in the development of Kernel Memory. Feel free to contribute opening
32
- GitHub Issues, sending us PRs, and joining our Discord community. Thank you and happy coding!
33
-
34
- ### Packages for Python, Java and other languages
35
-
36
- A python package with a Web Client and Semantic Kernel plugin will soon be available.
37
- We also welcome PR contributions to support more languages.
38
-
39
- In the meantime you can easily connect to Kernel Memory web service following the
40
- existing ** OpenAPI** swagger at http://127.0.0.1:9001/swagger/index.html .
41
-
42
28
### .NET packages
43
29
44
30
* ** Microsoft.KernelMemory.WebClient:** The web client library, can be used to call
@@ -53,17 +39,74 @@ existing **OpenAPI** swagger at http://127.0.0.1:9001/swagger/index.html.
53
39
[ ![ Nuget package] ( https://img.shields.io/nuget/vpre/Microsoft.KernelMemory.SemanticKernelPlugin )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.SemanticKernelPlugin/ )
54
40
[ ![ Example code] ( https://img.shields.io/badge/example-code-blue )] ( examples/011-dotnet-using-MemoryPlugin )
55
41
42
+ * ** Microsoft.KernelMemory.Abstractions:** The internal interfaces and models
43
+ shared by all packages, used to extend KM to support third party services.
44
+ .NET Standard 2.0 compatible.
45
+
46
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.Abstractions )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.Abstractions/ )
47
+
48
+ * ** Microsoft.KernelMemory.MemoryDb.AzureAISearch:** Memory storage using
49
+ ** [ Azure AI Search] ( extensions/AzureAISearch ) ** .
50
+
51
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.MemoryDb.AzureAISearch )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.MemoryDb.AzureAISearch/ )
52
+
53
+ * ** Microsoft.KernelMemory.MemoryDb.Postgres:** Memory storage using
54
+ ** [ PostgreSQL] ( extensions/Postgres ) ** .
55
+
56
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.MemoryDb.Postgres )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.MemoryDb.Postgres/ )
57
+
58
+ * ** Microsoft.KernelMemory.MemoryDb.Qdrant:** Memory storage using
59
+ ** [ Qdrant] ( extensions/Qdrant ) ** .
60
+
61
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.MemoryDb.Qdrant )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.MemoryDb.Qdrant/ )
62
+
63
+ * ** Microsoft.KernelMemory.AI.AzureOpenAI:** Integration with ** [ Azure OpenAI] ( extensions/OpenAI ) ** LLMs.
64
+
65
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.AI.AzureOpenAI )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.AI.AzureOpenAI/ )
66
+
67
+ * ** Microsoft.KernelMemory.AI.LlamaSharp:** Integration with ** [ LLama] ( extensions/LlamaSharp ) ** LLMs.
68
+
69
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.AI.LlamaSharp )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.AI.LlamaSharp/ )
70
+
71
+ * ** Microsoft.KernelMemory.AI.OpenAI:** Integration with ** [ OpenAI] ( extensions/OpenAI ) ** LLMs.
72
+
73
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.AI.OpenAI )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.AI.OpenAI/ )
74
+
75
+ * ** Microsoft.KernelMemory.DataFormats.AzureAIDocIntel:** Integration with
76
+ [ Azure AI Document Intelligence] ( extensions/AzureAIDocIntel ) .
77
+
78
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.DataFormats.AzureAIDocIntel )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.DataFormats.AzureAIDocIntel/ )
79
+
80
+ * ** Microsoft.KernelMemory.Orchestration.AzureQueues:** Ingestion and synthetic memory
81
+ pipelines via [ Azure Queue Storage] ( extensions/AzureQueues ) .
82
+
83
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.Orchestration.AzureQueues )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.Orchestration.AzureQueues/ )
84
+
85
+ * ** Microsoft.KernelMemory.Orchestration.RabbitMQ:** Ingestion and synthetic memory
86
+ pipelines via [ RabbitMQ] ( extensions/RabbitMQ ) .
87
+
88
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.Orchestration.RabbitMQ )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.Orchestration.RabbitMQ/ )
89
+
90
+ * ** Microsoft.KernelMemory.ContentStorage.AzureBlobs:** Used to store content on
91
+ [ Azure Storage Blobs] ( extensions/AzureBlobs ) .
92
+
93
+ [ ![ Nuget package] ( https://img.shields.io/nuget/v/Microsoft.KernelMemory.ContentStorage.AzureBlobs )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.ContentStorage.AzureBlobs/ )
94
+
56
95
* ** Microsoft.KernelMemory.Core:** The core library, can be used to build custom
57
96
pipelines and handlers, and contains a serverless client to use memory in a
58
97
synchronous way, without the web service. .NET 6+.
59
98
60
99
[ ![ Nuget package] ( https://img.shields.io/nuget/vpre/Microsoft.KernelMemory.Core )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.Core/ )
61
100
[ ![ Example code] ( https://img.shields.io/badge/example-code-blue )] ( examples/001-dotnet-Serverless )
62
101
63
- * ** Microsoft.KernelMemory.Abstractions:** The internal interfaces and models
64
- shared by all packages. .NET Standard 2.0 compatible.
102
+ ### Packages for Python, Java and other languages
103
+
104
+ Kernel Memory service offers a ** Web API** out of the box, including the ** OpenAPI
105
+ swagger** documentation that you can leverage to test the API and create custom
106
+ web clients. For instance, after starting the service locally, see http://127.0.0.1:9001/swagger/index.html .
65
107
66
- [ ![ Nuget package] ( https://img.shields.io/nuget/vpre/Microsoft.KernelMemory.Abstractions )] ( https://www.nuget.org/packages/Microsoft.KernelMemory.Abstractions/ )
108
+ A python package with a Web Client and Semantic Kernel plugin will soon be available.
109
+ We also welcome PR contributions to support more languages.
67
110
68
111
### Data formats
69
112
@@ -355,3 +398,12 @@ running the service locally with OpenAPI enabled.
355
398
5. [Script to start RabbitMQ for development tasks](tools/run-rabbitmq.sh)
356
399
6. [.NET appsettings.json generator](tools/InteractiveSetup)
357
400
401
+ # # Repository Guidance
402
+
403
+ This repository is a public resource designed to showcase best practices and efficient architecture
404
+ for specific programming scenarios. Although bug fixes and secure, scalable enhancements are part
405
+ of our focus, rigorous reviews and strategic considerations of the code are recommended before
406
+ production use. Similar to the nature of AI development, the project will rapidly evolve. We warmly
407
+ welcome you to participate in the development of Kernel Memory. Feel free to contribute opening
408
+ GitHub Issues, sending us PRs, and joining our Discord community. Thank you and happy coding!
409
+
0 commit comments