.NET API
ModelOutputLimit
Tracon.Abstractions.dllThe output token limit a provider’s chat client sends when ModelBinding.MaxOutputTokens is empty.
public sealed record ModelOutputLimit : IEquatable<ModelOutputLimit>- Inheritance
- object ← ModelOutputLimit
- Implements
- IEquatable<ModelOutputLimit>
- Inherited Members
- object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”A provider that sends its own default limit lets its raw chat client return
this record from IChatClient.GetService(typeof(ModelOutputLimit)) —
the same way a client describes itself with ChatClientMetadata. The
client is built for one binding, so the record can depend on the binding’s
provider settings. A provider that sends no limit (the model’s own maximum
applies) returns nothing.
The agent validation report reads it. When the binding leaves ModelBinding.MaxOutputTokens empty, the default is below the model’s ModelDescriptor.MaxOutputTokens in the catalog, and the agent asks for a structured response or ModelOutputLimit.HighReasoningEffort is true, the report carries a warning: a response cut off at the limit fails a structured run (RunErrorClass.OutputTruncated).
Constructors
Section titled “Constructors”ModelOutputLimit()
Section titled “ ModelOutputLimit()”public ModelOutputLimit()Properties
Section titled “Properties”DefaultMaxOutputTokens
Section titled “ DefaultMaxOutputTokens”Gets the output token limit the client sends when the binding sets none.
public required int DefaultMaxOutputTokens { get; init; }Property Value
Section titled “Property Value”HighReasoningEffort
Section titled “ HighReasoningEffort”Gets a value indicating whether the binding asks the model to reason at high effort, so reasoning tokens are likely to take a large share of the same limit.
public bool HighReasoningEffort { get; init; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”Equals(object?)
Section titled “ Equals(object?)”public override bool Equals(object? obj)Parameters
Section titled “Parameters”obj object?
Returns
Section titled “Returns”Equals(ModelOutputLimit?)
Section titled “ Equals(ModelOutputLimit?)”public bool Equals(ModelOutputLimit? other)Parameters
Section titled “Parameters”other ModelOutputLimit?
Returns
Section titled “Returns”GetHashCode()
Section titled “ GetHashCode()”public override int GetHashCode()Returns
Section titled “Returns”ToString()
Section titled “ ToString()”public override string ToString()Returns
Section titled “Returns”Operators
Section titled “Operators”operator ==(ModelOutputLimit?, ModelOutputLimit?)
Section titled “ operator ==(ModelOutputLimit?, ModelOutputLimit?)”public static bool operator ==(ModelOutputLimit? left, ModelOutputLimit? right)Parameters
Section titled “Parameters”left ModelOutputLimit?
right ModelOutputLimit?
Returns
Section titled “Returns”operator !=(ModelOutputLimit?, ModelOutputLimit?)
Section titled “ operator !=(ModelOutputLimit?, ModelOutputLimit?)”public static bool operator !=(ModelOutputLimit? left, ModelOutputLimit? right)Parameters
Section titled “Parameters”left ModelOutputLimit?
right ModelOutputLimit?