Class AIRequestBuilder
Builds an independent request. Every With method returns a new builder.
public sealed class AIRequestBuilder
- Inheritance
-
AIRequestBuilder
- Inherited Members
- Extension Methods
Remarks
Service defaults are captured by CreateRequest. Conversation history is selected at execution time and is still owned by the service; builders do not enable concurrent use of a conversation. Built-in input payloads, settings, schemas and option collections are copied. Custom content and handler targets must remain immutable or be synchronized by their owner.
Methods
GetCapabilities()
Inspects this request's captured model, endpoint and options without executing or consuming it.
public AIModelCapabilities GetCapabilities()
Returns
Remarks
Supported means available, not enabled. Unknown requires a caller policy; execution still validates combinations.
GetCompletionAsync(CancellationToken)
Executes this request and returns its final text.
public Task<string> GetCompletionAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
StartRunAsync(Action<string>?, StreamOptions?, CancellationToken)
Starts this request with streaming observation, a final result and provider-supported steering.
public Task<AIRun> StartRunAsync(Action<string>? onText = null, StreamOptions? options = null, CancellationToken cancellationToken = default)
Parameters
onTextAction<string>optionsStreamOptionscancellationTokenCancellationToken
Returns
WithContext(AIRequestContext)
public AIRequestBuilder WithContext(AIRequestContext context)
Parameters
contextAIRequestContext
Returns
WithFileSearch(params FileSearchStore[])
public AIRequestBuilder WithFileSearch(params FileSearchStore[] stores)
Parameters
storesFileSearchStore[]
Returns
WithFrequencyPenalty(float)
public AIRequestBuilder WithFrequencyPenalty(float penalty)
Parameters
penaltyfloat
Returns
WithFunctionExecution(FunctionExecutionMode, int?)
public AIRequestBuilder WithFunctionExecution(FunctionExecutionMode mode, int? maxConcurrency = null)
Parameters
modeFunctionExecutionModemaxConcurrencyint?
Returns
WithFunctions(params FunctionDefinition[])
Adds copied function definitions to this request; handler contracts are unchanged.
public AIRequestBuilder WithFunctions(params FunctionDefinition[] functions)
Parameters
functionsFunctionDefinition[]
Returns
WithFunctionsDisabled(bool)
public AIRequestBuilder WithFunctionsDisabled(bool disabled = true)
Parameters
disabledbool
Returns
WithMaxRounds(int)
public AIRequestBuilder WithMaxRounds(int maxRounds)
Parameters
maxRoundsint
Returns
WithMaxTokens(uint)
public AIRequestBuilder WithMaxTokens(uint maxTokens)
Parameters
maxTokensuint
Returns
WithPolicy(FunctionCallingPolicy)
public AIRequestBuilder WithPolicy(FunctionCallingPolicy policy)
Parameters
policyFunctionCallingPolicy
Returns
WithPresencePenalty(float)
public AIRequestBuilder WithPresencePenalty(float penalty)
Parameters
penaltyfloat
Returns
WithProfile(AIRequestProfile)
public AIRequestBuilder WithProfile(AIRequestProfile profile)
Parameters
profileAIRequestProfile
Returns
WithReasoning(ReasoningLevel, CachePreservation)
public AIRequestBuilder WithReasoning(ReasoningLevel level, CachePreservation cache = CachePreservation.None)
Parameters
levelReasoningLevelcacheCachePreservation
Returns
WithSpeed(InferenceSpeed)
Returns a separate request selecting a processing mode. Fast opts into premium pricing.
public AIRequestBuilder WithSpeed(InferenceSpeed speed)
Parameters
speedInferenceSpeed
Returns
WithStatelessMode(bool)
public AIRequestBuilder WithStatelessMode(bool enabled = true)
Parameters
enabledbool
Returns
WithSystemMessage(string)
public AIRequestBuilder WithSystemMessage(string systemMessage)
Parameters
systemMessagestring
Returns
WithTemperature(float)
public AIRequestBuilder WithTemperature(float temperature)
Parameters
temperaturefloat
Returns
WithTimeout(int)
public AIRequestBuilder WithTimeout(int seconds)
Parameters
secondsint
Returns
WithTopP(float)
public AIRequestBuilder WithTopP(float topP)
Parameters
topPfloat
Returns
WithWebSearch(WebSearchOptions?)
public AIRequestBuilder WithWebSearch(WebSearchOptions? options = null)
Parameters
optionsWebSearchOptions