FluxIndex.Extensions.FileVault
0.5.8
dotnet add package FluxIndex.Extensions.FileVault --version 0.5.8
NuGet\Install-Package FluxIndex.Extensions.FileVault -Version 0.5.8
<PackageReference Include="FluxIndex.Extensions.FileVault" Version="0.5.8" />
<PackageVersion Include="FluxIndex.Extensions.FileVault" Version="0.5.8" />
<PackageReference Include="FluxIndex.Extensions.FileVault" />
paket add FluxIndex.Extensions.FileVault --version 0.5.8
#r "nuget: FluxIndex.Extensions.FileVault, 0.5.8"
#:package FluxIndex.Extensions.FileVault@0.5.8
#addin nuget:?package=FluxIndex.Extensions.FileVault&version=0.5.8
#tool nuget:?package=FluxIndex.Extensions.FileVault&version=0.5.8
FluxIndex
RAG library for .NET 10.0 - Build semantic search and retrieval systems with vector + keyword hybrid search.
Key Features
- Hybrid Search - Vector (semantic) + Keyword (BM25) with automatic strategy selection
- High Performance - Embedding cache (100% faster), batch indexing (24ms/1K chunks)
- Local Reranking - Cross-encoder neural reranking with automatic algorithmic fallback
- Graph Traversal - BFS/DFS, Dijkstra shortest path, PageRank-style importance
- Vector Quantization - Scalar (Int8/Int4), Product Quantization, Binary (32x compression)
- Multiple Storage - SQLite, PostgreSQL with pgvector
- AI Provider Agnostic - Core provides abstract base classes, bring your own embedding service
- Document Processing - PDF/DOCX/TXT via FileFlux, web crawling via WebFlux
- MCP Server - Model Context Protocol for AI assistant integration
- Production Ready - Redis caching, clean architecture, .NET 10.0
Quick Start
dotnet add package FluxIndex.SDK
dotnet add package FluxIndex.Storage.SQLite
using FluxIndex.SDK;
// 1. Setup (InMemory embedding for testing)
var context = FluxIndexContext.CreateBuilder()
.UseSQLite("fluxindex.db")
.Build();
// 2. Index
await context.Indexer.IndexDocumentAsync(
"FluxIndex is a RAG library for .NET", "doc-001");
// 3. Search
var results = await context.Retriever.SearchAsync("RAG library", maxResults: 5);
Using Custom Embedding Service
FluxIndex is AI provider-agnostic. Extend EmbeddingServiceBase for your preferred provider:
// Example: LMSupply embedding (local ONNX-based, no API key)
public class LMSupplyEmbedder : EmbeddingServiceBase, IAsyncDisposable
{
private readonly IEmbeddingModel _model;
private LMSupplyEmbedder(IEmbeddingModel model) => _model = model;
public static async Task<LMSupplyEmbedder> CreateAsync(string modelId = "default")
{
var model = await LocalEmbedder.LoadAsync(modelId);
return new LMSupplyEmbedder(model);
}
protected override async Task<float[]> EmbedCoreAsync(string text, CancellationToken ct)
=> await _model.EmbedAsync(text, ct);
public override int GetEmbeddingDimension() => _model.Dimensions;
public override string GetModelName() => _model.ModelId;
public ValueTask DisposeAsync() => _model.DisposeAsync();
}
// Register and use
var context = FluxIndexContext.CreateBuilder()
.UseSQLite("fluxindex.db")
.ConfigureServices(s => s.AddSingleton<IEmbeddingService>(
LMSupplyEmbedder.CreateAsync().GetAwaiter().GetResult()))
.Build();
MCP Server
FluxIndex provides Model Context Protocol (MCP) server for AI assistant integration.
Available Tools: search, memorize, unmemorize, status
See FluxIndex.MCP for integration details.
Performance
| Operation | Performance | Notes |
|---|---|---|
| Batch Indexing | 24ms/1K chunks | 8-thread parallelism |
| Vector Search | 0.6ms/query | In-memory embeddings |
| Embedding Cache | 100% faster | Eliminates API calls |
| Semantic Cache | <5ms | Redis, 95% similarity |
Full benchmarks: BENCHMARK_RESULTS.md
Package Structure
| Package | Description |
|---|---|
| FluxIndex.Core | Interfaces, abstract base classes, and core logic |
| FluxIndex.SDK | All-in-one SDK with FileFlux, WebFlux, FluxCurator, FluxImprover |
| FluxIndex.Storage.SQLite | SQLite vector store |
| FluxIndex.Storage.PostgreSQL | PostgreSQL with pgvector |
| FluxIndex.Storage.Neo4j | Neo4j graph database |
| FluxIndex.Storage.Qdrant | Qdrant vector database |
| FluxIndex.Cache.Redis | Redis semantic cache |
| FluxIndex.Extensions.FileVault | Git-like file tracking for RAG indexing with folder monitoring |
Documentation
- Guide - Quick start and configuration
- Reference - Architecture and API reference
- Advanced RAG - HyDE, Contextual Retrieval, Query Expansion
- Philosophy - Core principles and design philosophy
Examples
- RealQualityTest - LMSupply + SQLite integration
- WebFluxSample - Web crawling with WebFlux
- ChunkingQualityTest - FileFlux chunking analysis
- FileFluxIndexSample - Document indexing workflow
Requirements
- .NET 10.0 or later
- SQLite or PostgreSQL
License
MIT License - see LICENSE file.
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FileFlux (>= 0.9.8)
- FluxIndex.Core (>= 0.5.8)
- Microsoft.Data.Sqlite (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options (>= 10.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.