ModelDescriptor
AgentPrism.Abstractions.dllA model’s capabilities and limits.
public sealed record ModelDescriptor : IEquatable<ModelDescriptor>Inheritance
Section titled “Inheritance”Implements
Section titled “Implements”Inherited Members
Section titled “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”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?