Namespace Qavren.Edge.Rag
Classes
- DelegateRetriever
An IEdgeRetriever over a lambda, for a consumer whose corpus is not an MEVD collection - an in-memory list, an HTTP search endpoint, a hand-rolled index.
- EdgeRagBuilderExtensions
Registration for the RAG recipe.
- EdgeRagEventIds
960-999 is the RAG range, published from the package that logs it -
Qavren.Edge.Ragdoes not referenceQavren.Edge.Chat.Onnx, so a constant declared there would be unreachable from the code that logs it.
- EdgeRagException
A retrieval-augmented generation failure: the 7200-7299 range. Carries the retriever name, the collection name and a remediation sentence, because all three are what a caller needs and none of them survive a bare message.
- ExtractiveChatClient
The no-LLM floor: answers verbatim from the highest-ranked sources with their citations attached. Needs no model, no natives and no memory - so the product still answers on a device that refused the budget or never downloaded a model, and the entire RAG path is tier-1 testable. It is an IChatClient, so
UseRag()over it is the same call, the same pipeline and the sameCitationAnnotations.
- ExtractiveChatOptions
Tuning for the no-LLM extractive floor.
- RagChatClient
Retrieve, assemble, stream, cite. Ordinary MEAI middleware.
- RagChatClientBuilderExtensions
The one line that turns any
IChatClientpipeline into a RAG pipeline.
- RagCitations
The two property keys the pipeline talks over, the pin key, and the marker resolver.
- RagOptions
Everything the RAG middleware lets a caller change.
- RagPrompts
The two pure functions the whole recipe rests on, and the three default prompts.
- RagSource
One retrieved chunk, on its way to a numbered slot in the assembled context block.
- RetrievalRequest
What the middleware asks a retriever for.
- VectorStoreRetrieverOptions<TRecord>
Everything VectorStoreRetriever<TKey, TRecord> lets a caller change.
- VectorStoreRetriever<TKey, TRecord>
Adapts any MEVD collection. Nothing here is Qavren-specific: point it at Qdrant, Azure AI Search or
EdgeVectorStoreCollectionand it behaves identically. It chooses the hybrid lane when the collection implementsIKeywordHybridSearchable<TRecord>and keywords are present, the vector lane otherwise, stamps ScoreKind to match, and always returns best-first.
Interfaces
- IEdgeRetriever
The whole retrieval seam.
Enums
- RetrievalQuerySource
Which part of the conversation becomes the retrieval query.
- RetrievalScoreKind
Which direction a retriever's score runs.