Class RagDiagnosticSession
- Namespace
- Mythosia.AI.Rag.Diagnostics
- Assembly
- Mythosia.AI.Rag.dll
Fluent diagnostic session for debugging RAG search quality issues.
Access via extension method: ragStore.Diagnose() or ragPipeline.Diagnose().
public class RagDiagnosticSession
- Inheritance
-
RagDiagnosticSession
- Inherited Members
Examples
// One-liner: "Why didn't my query find this text?"
var report = await ragStore.Diagnose()
.WhyMissingAsync("์ต๊ทผ ์ฐ๋ด์ด ์ผ๋ง?", "$1");
Console.WriteLine(report.ToReport());
// Health check on the entire index
var health = await ragStore.Diagnose().HealthCheckAsync();
Console.WriteLine(health.ToReport());
// Compare splitter configurations
var comparison = ragStore.Diagnose().CompareSplitters(document, "$1",
new RecursiveTextSplitter(500, 100),
new RecursiveTextSplitter(1000, 200));
Console.WriteLine(comparison.ToReport());
Methods
CompareSplitters(RagDocument, string, params ITextSplitter[])
Compares how different splitter configurations handle the same document. Shows where the target text ends up in each configuration and the resulting keyword density.
public SplitterComparison CompareSplitters(RagDocument document, string targetText, params ITextSplitter[] splitters)
Parameters
documentRagDocumentThe document to split.
targetTextstringText to track across splitter outputs (e.g., "6,300๋ง์").
splittersITextSplitter[]Two or more splitter configurations to compare.
Returns
HealthCheckAsync(CancellationToken)
Runs a health check on the stored index, detecting common quality issues: chunk size variance, oversized chunks, very small chunks, and potential duplicates.
public Task<HealthCheckResult> HealthCheckAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
WhyMissingAsync(string, string, CancellationToken)
Analyzes exactly WHY a specific text was not found (or ranked low) for a given query. Traces through every pipeline stage and reports the root cause with actionable suggestions.
public Task<MissingAnalysis> WhyMissingAsync(string query, string expectedText, CancellationToken cancellationToken = default)
Parameters
querystringThe query that produced incorrect/incomplete results.
expectedTextstringThe text you expected to find in results (e.g., "6,300๋ง์").
cancellationTokenCancellationTokenCancellation token.