Class ChatGenerationPlan
- Namespace
- MailFathom.AI.Chat
- Assembly
- MailFathom.AI.dll
The validated declaration the chat adapter runs on: which endpoint answers, with which parameters, and what one call may spend.
public sealed class ChatGenerationPlan
- Inheritance
-
ChatGenerationPlan
- Inherited Members
Remarks
Built once, at startup, from configuration that has already been proved usable. The adapter therefore never revalidates and holds no defaulting logic of its own.
One endpoint rather than a chain, which is the deliberate difference from the embedding declaration. A fallback embedding endpoint is another route to one vector space — startup proves every endpoint of a chain declares the same geometry, so it cannot change what a vector means. Nothing proves that of two chat models: falling through would silently answer a person in a different model's voice, with different capabilities and different refusals, and nothing above this boundary could tell it had happened. An operator who wants failover puts a gateway in front of one declared endpoint, where the substitution is theirs and is visible to them.
Deliberately holds no credential and no secret reference. What proves the deployment's identity to the endpoint is resolved per request, so a rotated key needs no restart and this value is safe to hold for the lifetime of the process.
Properties
- Endpoint
Gets the endpoint every request is sent to.
- MaximumMessagesPerRequest
Gets the greatest number of turns one request carries.
- MaximumOutputTokens
Gets the greatest number of tokens one answer may occupy.
- MaximumRequestCharacters
Gets the greatest number of characters the turns of one request may add up to.
- ReasoningEffort
Gets the reasoning effort every call states, or null to send no reasoning parameter at all.
- RequestTimeout
Gets the time one request may take before it is abandoned.
- Temperature
Gets the sampling temperature, or null to leave the model's own default in place.
Methods
- Create(ChatEndpoint, int, float?, float?, string?, int, int, TimeSpan)
Builds a plan, refusing a declaration no request could be made from.
- IsUsableReasoningEffort(string)
Reports whether a reasoning effort is shaped like a level a provider could read.