Table of Contents

Constructor ExtractiveChatClient

Namespace
Qavren.Edge.Rag
Assembly
Qavren.Edge.Rag.dll

ExtractiveChatClient(ExtractiveChatOptions?, ILoggerFactory?)

Creates the extractive floor.

public ExtractiveChatClient(ExtractiveChatOptions? options = null, ILoggerFactory? loggerFactory = null)

Parameters

options ExtractiveChatOptions

Null takes every ExtractiveChatOptions default.

loggerFactory ILoggerFactory

Null logs nothing. It is the only addition to spec 7's declared signature, and it is there because EdgeRagEventIds.ExtractiveAnswer (966) has no other raise site - an event id nothing can log is an event id nobody can look for.

Remarks

It reads its sources from options.AdditionalProperties[RagCitations.SourcesPropertyKey] - the request-side entry RagChatClient sets on a cloned ChatOptions before invoking its inner client. It does not parse the rendered context block, so a consumer who replaces RagOptions.ContextFormatter does not thereby break the floor, and RagChatClient does not special-case it: the channel is a documented public key.

With no such entry - this client used bare, outside a UseRag() pipeline - it answers NoResultsAnswer with the grounded flag clear rather than throwing. That is the honest answer: it has no model and was given no sources.