KernelMemory.StructRAG 0.0.3

dotnet add package KernelMemory.StructRAG --version 0.0.3                
NuGet\Install-Package KernelMemory.StructRAG -Version 0.0.3                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KernelMemory.StructRAG" Version="0.0.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add KernelMemory.StructRAG --version 0.0.3                
#r "nuget: KernelMemory.StructRAG, 0.0.3"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install KernelMemory.StructRAG as a Cake Addin
#addin nuget:?package=KernelMemory.StructRAG&version=0.0.3

// Install KernelMemory.StructRAG as a Cake Tool
#tool nuget:?package=KernelMemory.StructRAG&version=0.0.3                

Struct RAG search client for KernelMemory

Note: Freely inspired from StructRag, this is an implemention of a custom seach client for Kernel Memory.

Overview

Welcome to the SearchClient for KernelMemory repository! This project leverages the innovative StructRAG methodology to enhance the accuracy of Retrieval-Augmented Generation (RAG) in complex scenarios. By integrating StructRAG with KernelMemory, we aim to provide a robust solution for knowledge-intensive reasoning tasks.

What is StructRAG?

StructRAG is a novel framework designed to improve the performance of RAG by converting raw information into structured knowledge. This approach is inspired by cognitive theories, which suggest that humans process information more effectively when it is organized into meaningful structures. StructRAG identifies the optimal structure type for a given task, reconstructs original documents into this format, and infers answers based on the resulting structure. This method excels in scenarios where information is scattered and requires global reasoning.

https://arxiv.org/html/2410.08815v2/x1.png

More info at: https://arxiv.org/abs/2410.08815

What is KernelMemory?

KernelMemory (KM) is a multi-modal AI service that specializes in the efficient indexing of datasets through custom continuous data hybrid pipelines. It supports various advanced features, including:

  • Retrieval-Augmented Generation (RAG)
  • Synthetic memory
  • Prompt engineering
  • Custom semantic memory processing

KM is available as a Web Service, Docker container, Plugin for ChatGPT/Copilot/Semantic Kernel, and as a .NET library for embedded applications. It enables natural language querying to obtain answers from indexed data, complete with citations and links to original sources.

More info at: https://github.com/microsoft/kernel-memory

Configuration

Configure you KernelMemory client to use the custom search client:

using KernelMemory.StructRAG;

var memory = new KernelMemoryBuilder()
    .WithOpenAIDefaults(Environment.GetEnvironmentVariable("OPENAI_API_KEY"))
    .WithCustomSearchClient<StructRAGSearchCient>()
    .Build<MemoryServerless>();

Then use as usual... =)

License

This project is licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.3 28 11/24/2024
0.0.2 81 11/17/2024
0.0.1 68 11/17/2024