Mythosia.AI.Rag.Abstractions
6.0.0
dotnet add package Mythosia.AI.Rag.Abstractions --version 6.0.0
NuGet\Install-Package Mythosia.AI.Rag.Abstractions -Version 6.0.0
<PackageReference Include="Mythosia.AI.Rag.Abstractions" Version="6.0.0" />
<PackageVersion Include="Mythosia.AI.Rag.Abstractions" Version="6.0.0" />
<PackageReference Include="Mythosia.AI.Rag.Abstractions" />
paket add Mythosia.AI.Rag.Abstractions --version 6.0.0
#r "nuget: Mythosia.AI.Rag.Abstractions, 6.0.0"
#:package Mythosia.AI.Rag.Abstractions@6.0.0
#addin nuget:?package=Mythosia.AI.Rag.Abstractions&version=6.0.0
#tool nuget:?package=Mythosia.AI.Rag.Abstractions&version=6.0.0
Mythosia.AI.Rag.Abstractions
Package Summary
Core interfaces and models for the Mythosia.AI RAG ecosystem.
This package defines the contracts that all RAG components implement — you only need this directly if you're building a custom implementation.
Interfaces
| Interface | Description |
|---|---|
IRagPipeline |
Main pipeline contract: ProcessAsync(query) → RagProcessedQuery |
IEmbeddingProvider |
Text → vector embedding (GetEmbeddingAsync, GetEmbeddingsAsync) |
IVectorStore |
Vector storage & search (UpsertAsync, SearchAsync, DeleteAsync) |
IRagDiagnosticsStore |
Optional diagnostics contract (ListAllRecordsAsync, ScoredListAsync) |
ITextSplitter |
Document → chunks (Split(RagDocument)) |
IContextBuilder |
Search results → LLM prompt (BuildContext(query, results)) |
IQueryRewriter |
Rewrites queries into retrieval-ready form using conversation history, and decides whether document search is needed (search gate) |
IRetrievalStrategy |
Abstracts retrieval logic — pure vector or hybrid (BM25 + vector + RRF) |
IReranker |
Re-ranks search results post-retrieval for improved relevance |
Models
| Model | Description |
|---|---|
RagChunk |
A chunk of text with ID, content, document ID, index, and metadata |
RagDocument |
A loaded document with Id, Content, Source, and Metadata for the RAG pipeline |
RagProcessedQuery |
Pipeline output: original query, rewritten semantic query, retrieval keywords, RequestMessageContent, references, RetrievalCandidates, SearchSkipped, RewriteResult, HasReferences flag, and Diagnostics |
QueryRewriteResult |
Result of rewriting a query into retrieval-ready form, including search gate decision (NeedsSearch) and optional retrieval keywords. Factory methods Pass() and Search() |
ConversationTurn |
Lightweight DTO representing a single conversation turn (role + content) for IQueryRewriter context |
RagQueryDiagnostics |
Applied retrieval metadata (AppliedNamespace, FinalTopK, RetrievalTopK, AppliedFinalMinScore, AppliedRetrievalMinScore, ElapsedMs, RewriteElapsedMs) |
RagPipelineOptions |
Configuration: DefaultScope, DefaultQuery, PromptTemplate, EmbeddingBatchSize |
RagQueryOptions |
Per-request overrides: FinalFilter, RetrievalDerivation, Namespace, StoreFilter, FinalSelection, ProgressAsync |
RagFinalSelectionOptions |
Final selection policy after re-ranking (Mode, RetrievalWeight) |
RagFinalSelectionMode |
Enum: RerankerOnly (default) or WeightedBlend |
RagFilter |
Final selection policy (TopK, MinScore) |
RagRetrievalDerivation |
Controls how retrieval candidates are derived (TopKMultiplier, MinScoreDivider) |
RagRetrievalFilter |
Immutable computed retrieval filter (TopK, MinScore) |
RagProgressStage |
Enum for pipeline stage progress reporting (QueryRewrite, Embedding, Filtering, Retrieval, Reranking, ContextBuild) |
VectorRecord |
Stored vector with ID, content, embedding, metadata, namespace |
VectorSearchResult |
Search result with record and similarity score |
VectorFilter |
Filter by namespace, metadata, or minimum score |
Custom Implementation Example
public class MyEmbeddingProvider : IEmbeddingProvider
{
public int Dimensions => 768;
public Task<float[]> GetEmbeddingAsync(string text, CancellationToken ct = default)
{
// Your embedding logic here
}
public Task<IReadOnlyList<float[]>> GetEmbeddingsAsync(
IEnumerable<string> texts, CancellationToken ct = default)
{
// Batch embedding logic here
}
}
Then register via the builder:
.WithRag(rag => rag.UseEmbedding(new MyEmbeddingProvider()))
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Mythosia.VectorDb.Abstractions (>= 3.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Mythosia.AI.Rag.Abstractions:
| Package | Downloads |
|---|---|
|
Mythosia.AI.Rag
RAG (Retrieval Augmented Generation) orchestration for Mythosia.AI. Implements Mythosia.AI.Rag.Abstractions v5.x. Includes RagPipeline, text splitters, context builder, OpenAI/vLLM embedding providers, hybrid search (BM25 + Vector + RRF), re-ranking (Cohere, LLM, vLLM), search gate, keyword extraction, weighted-blend final selection, progress reporting, DoclingDocument-to-RagDocument conversion, and per-query VectorFilter passthrough (StoreFilter). Depends on Mythosia.AI.Abstractions (IAIService) instead of the full Mythosia.AI implementation. |
|
|
Mythosia.VectorDb.InMemory
In-memory vector store implementation for Mythosia VectorDb. Provides InMemoryVectorStore with cosine similarity TopK search, metadata filtering, namespace/scope support, upsert/delete operations, GetBatchAsync, CountAsync, IDisposable, Bm25Index keyword search, and normalized hybrid RRF scoring. |
GitHub repositories
This package is not used by any popular GitHub repositories.
v6.0.0: Requires Abstractions v3.0.0 — VectorFilter.ByMetadata/ByNamespace/ByScope and MetadataMatch are removed. Users of RagQueryOptions.StoreFilter must migrate to new fluent API: new VectorFilter().Where(...). No structural changes to this package's own types.