Ananke.Orchestration.Knowledge 0.6.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Ananke.Orchestration.Knowledge --version 0.6.0
                    
NuGet\Install-Package Ananke.Orchestration.Knowledge -Version 0.6.0
                    
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="Ananke.Orchestration.Knowledge" Version="0.6.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Ananke.Orchestration.Knowledge" Version="0.6.0" />
                    
Directory.Packages.props
<PackageReference Include="Ananke.Orchestration.Knowledge" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Ananke.Orchestration.Knowledge --version 0.6.0
                    
#r "nuget: Ananke.Orchestration.Knowledge, 0.6.0"
                    
#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.
#:package Ananke.Orchestration.Knowledge@0.6.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Ananke.Orchestration.Knowledge&version=0.6.0
                    
Install as a Cake Addin
#tool nuget:?package=Ananke.Orchestration.Knowledge&version=0.6.0
                    
Install as a Cake Tool

Ananke.Orchestration.Knowledge

NuGet License

Knowledge pipeline for Ananke — vector knowledge stores, document processing, chunking, embedding abstractions, knowledge catalog with LLM-enriched metadata, and cross-document linking.

Install

dotnet add package Ananke.Orchestration.Knowledge

Note: If you use Ananke.Orchestration, this package is already included as a transitive dependency.

Quick start

using Ananke.Orchestration.Knowledge;

// InMemoryKnowledgeStore for dev/test; QdrantKnowledgeStore for production
var store = new InMemoryKnowledgeStore(embeddingModel);

await store.UpsertAsync([
    new KnowledgeDocument { Id = "doc-1", Text = "Ananke is a .NET agent orchestration library." },
    new KnowledgeDocument { Id = "doc-2", Text = "Workflows are built with a fluent graph-as-code API." },
]);

var results = await store.SearchAsync("how do I build a workflow?");
// results[0].Text => "Workflows are built with a fluent graph-as-code API."

Document ingestion pipeline

using Ananke.Orchestration.Knowledge;
using Ananke.Orchestration.Knowledge.Documents;

var processor = new DocumentProcessor(
    new HttpClient(),
    [new PdfExtractor(), new MarkdownExtractor()],  // from Ananke.Documents
    new SlidingWindowChunker(),
    knowledgeStore);

await using var stream = File.OpenRead("architecture.pdf");
var result = await processor.ProcessAsync(stream, "application/pdf", sourceId: "arch-doc");
// result.ChunkCount => 42

Knowledge catalog (two-phase discovery)

using Ananke.Orchestration.Knowledge.Catalog;

var catalog = new InMemoryKnowledgeCatalog(embeddingModel);

// Wrap any store to auto-update catalog on upsert/delete
var catalogStore = new CatalogAwareKnowledgeStore(innerStore, catalog, enricher);

// Phase 1: discover relevant sources
var sources = await catalog.BrowseAsync(new CatalogBrowseOptions { Query = "deployment" });

// Phase 2: deep-search within matched sources
var chunks = await catalogStore.SearchAsync("kubernetes deployment", new SearchOptions
{
    Filter = new KnowledgeFilter { ["source_id"] = sources[0].Entry.SourceId }
});

Cross-document linking

using Ananke.Orchestration.Knowledge.Linking;

// Opt-in via DI — decorates IKnowledgeStore with graph-expanded search
services.AddKnowledgeLinking(options =>
{
    options.AutoLinkOnIngest = true;       // LLM-based post-ingestion linking
    options.SimilarityThreshold = 0.7f;    // link documents above this score
});

Key types

Type Kind Purpose
IKnowledgeStore Interface Vector-indexed store — SearchAsync, UpsertAsync, DeleteAsync
InMemoryKnowledgeStore Class In-process implementation for dev/test
IKnowledgeCatalog Interface Document-level metadata catalog for two-phase discovery
InMemoryKnowledgeCatalog Class In-process catalog implementation
CatalogAwareKnowledgeStore Class Decorator — auto-updates catalog on store operations
IDocumentExtractor Interface Extracts structured text from files (PDF, Markdown, etc.)
IDocumentChunker Interface Splits text into embedding-sized chunks
SlidingWindowChunker Class Sliding window chunker with configurable overlap
DocumentProcessor Class Orchestrates the full extract → chunk → embed → store pipeline
DocumentSummarizer Class Uses an LLM to generate knowledge base descriptions
DocumentLinkExtractor Class Discovers semantic links between documents via LLM
LinkedKnowledgeStore Class Decorator — expands search results through document link graph
KnowledgeBase Class Combines a store, catalog entry, and description into a named unit
InMemoryEmbedder Class Deterministic character-hash embedder for testing

The pipeline

1. IDocumentExtractor.ExtractAsync(stream) → structured text + sections
2. IDocumentChunker.Chunk(text)            → DocumentChunk[]
3. IEmbeddingModel.EmbedBatchAsync(chunks) → float[][] vectors
4. IKnowledgeStore.UpsertAsync(documents)  → indexed in vector store
5. IKnowledgeStore.SearchAsync(query)      → ranked KnowledgeChunk[]

Optional enrichment layers compose via decoration:

IKnowledgeStore
  └─ CatalogAwareKnowledgeStore  (auto-catalogs on upsert)
      └─ LinkedKnowledgeStore    (graph-expanded search)

Implementations

Interface In-memory (this package) Distributed
IKnowledgeStore InMemoryKnowledgeStore QdrantKnowledgeStore (Ananke.Qdrant)
IKnowledgeCatalog InMemoryKnowledgeCatalog QdrantKnowledgeCatalog (Ananke.Qdrant)
IDocumentLinkGraph InMemoryDocumentLinkGraph
IDocumentExtractor PdfExtractor, MarkdownExtractor (Ananke.Documents)
IEmbeddingModel InMemoryEmbedder OpenAIEmbeddingModel, GeminiEmbeddingModel

Dependencies

  • Ananke.Abstractions — for IAgentModel, IEmbeddingModel, AgentMessage

This package has no dependency on Ananke.Orchestration — it is independent of the workflow engine.

Package What it adds
Ananke.Orchestration ToolKit bridge — registers knowledge search as agent-callable tools
Ananke.Documents PdfExtractor and MarkdownExtractor for DocumentProcessor
Ananke.Qdrant Distributed vector store implementations via Qdrant
Ananke.Orchestration.OpenAI OpenAIEmbeddingModel for production embeddings
Ananke.Orchestration.Google GeminiEmbeddingModel for production embeddings

License

Apache 2.0

  • Markdig ≥ 0.40.0 (transitive)
Package What it adds
Ananke.Orchestration Core knowledge pipeline: DocumentProcessor, IKnowledgeStore, InMemoryKnowledgeStore
Ananke.Orchestration.OpenAI OpenAIEmbeddingModel for generating embeddings
Ananke.Qdrant Qdrant-backed IKnowledgeStore for persistent, distributed storage
Ananke Meta-package — includes everything

Documentation

Full docs, demos, and architecture: github.com/sevensamurai/Ananke

License

Apache 2.0

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Ananke.Orchestration.Knowledge:

Package Downloads
Ananke.Orchestration

Workflow orchestration engine for .NET � fluent graph-as-code builder, AgentJob with tool calling, checkpointing, tracing, and LLM provider abstractions.

Ananke.Qdrant

Qdrant vector database provider for Ananke � IKnowledgeStore implementation with dense vector search, metadata filtering, and automatic collection management.

Ananke.Documents

Document extractors for the Ananke knowledge pipeline. Implements IDocumentExtractor for PDF, Markdown, and plain text content.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.7.2 188 4/12/2026
0.7.1 176 4/11/2026
0.7.0 188 4/11/2026
0.6.0 190 4/10/2026