Constructor ExtractiveChatClient
ExtractiveChatClient(ExtractiveChatOptions?, ILoggerFactory?)
Creates the extractive floor.
public ExtractiveChatClient(ExtractiveChatOptions? options = null, ILoggerFactory? loggerFactory = null)
Parameters
optionsExtractiveChatOptionsNull takes every ExtractiveChatOptions default.
loggerFactoryILoggerFactoryNull 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.