.NET API
ModelDescriptor
Tracon.Abstractions.dllA model’s capabilities and limits.
public sealed record ModelDescriptor : IEquatable<ModelDescriptor>- Inheritance
- object ← ModelDescriptor
- Implements
- IEquatable<ModelDescriptor>
- Inherited Members
- object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Constructors
Section titled “Constructors”ModelDescriptor()
Section titled “ ModelDescriptor()”public ModelDescriptor()Properties
Section titled “Properties”CachedInputCostPerMillionTokens
Section titled “ CachedInputCostPerMillionTokens”The cost per million input tokens that were served from the provider’s prompt cache. For reporting only.
public decimal? CachedInputCostPerMillionTokens { get; init; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”When this is null the cached tokens are priced at
ModelDescriptor.InputCostPerMillionTokens, exactly as they were before the
rate existed — an undefined cache rate does not make the run’s price
unknown. Set it to 0 only to state that cache reads are free.
ContextWindowTokens
Section titled “ ContextWindowTokens”The context window’s token capacity.
public int? ContextWindowTokens { get; init; }Property Value
Section titled “Property Value”int?
DisplayName
Section titled “ DisplayName”The name shown in the UI.
public string? DisplayName { get; init; }Property Value
Section titled “Property Value”InputCostPerMillionTokens
Section titled “ InputCostPerMillionTokens”The cost per million input tokens. For reporting only.
public decimal? InputCostPerMillionTokens { get; init; }Property Value
Section titled “Property Value”MaxOutputTokens
Section titled “ MaxOutputTokens”The maximum number of tokens producible in a single response.
public int? MaxOutputTokens { get; init; }Property Value
Section titled “Property Value”int?
The model name. ModelBinding.Model matches this value.
public required string Name { get; init; }Property Value
Section titled “Property Value”OutputCostPerMillionTokens
Section titled “ OutputCostPerMillionTokens”The cost per million output tokens. For reporting only.
public decimal? OutputCostPerMillionTokens { get; init; }Property Value
Section titled “Property Value”SupportsReasoning
Section titled “ SupportsReasoning”Whether the reasoning-effort setting is supported.
public bool SupportsReasoning { get; init; }Property Value
Section titled “Property Value”SupportsSampling
Section titled “ SupportsSampling”Whether the model accepts the sampling parameters temperature and
topP; null when the catalog does not say.
public bool? SupportsSampling { get; init; }Property Value
Section titled “Property Value”bool?
Remarks
Section titled “Remarks”The parameters are ModelBinding.Temperature and
ModelBinding.TopP. null (the default)
means unknown and checks nothing. When
the catalog states false, an agent definition that sets
either parameter does not compile, and the validation report names the
field: the provider would reject the request with 400 on the first
run. The check covers the binding’s ModelBinding.Fallbacks
links too, because they receive the same parameters.
The value comes from the catalog, never from a model-name list in code: many current models reject sampling, and which ones changes with every release.
SupportsStreaming
Section titled “ SupportsStreaming”Whether streaming responses are supported.
public bool SupportsStreaming { get; init; }Property Value
Section titled “Property Value”SupportsStructuredOutput
Section titled “ SupportsStructuredOutput”Whether output conforming to a JSON schema can be produced.
public bool SupportsStructuredOutput { get; init; }Property Value
Section titled “Property Value”SupportsTools
Section titled “ SupportsTools”Whether tool calling is supported.
public bool SupportsTools { 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(ModelDescriptor?)
Section titled “ Equals(ModelDescriptor?)”public bool Equals(ModelDescriptor? other)Parameters
Section titled “Parameters”other ModelDescriptor?
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 ==(ModelDescriptor?, ModelDescriptor?)
Section titled “ operator ==(ModelDescriptor?, ModelDescriptor?)”public static bool operator ==(ModelDescriptor? left, ModelDescriptor? right)Parameters
Section titled “Parameters”left ModelDescriptor?
right ModelDescriptor?
Returns
Section titled “Returns”operator !=(ModelDescriptor?, ModelDescriptor?)
Section titled “ operator !=(ModelDescriptor?, ModelDescriptor?)”public static bool operator !=(ModelDescriptor? left, ModelDescriptor? right)Parameters
Section titled “Parameters”left ModelDescriptor?
right ModelDescriptor?