Class AIModelCapabilities
- Namespace
- Mythosia.AI.Models.Capabilities
- Assembly
- Mythosia.AI.Abstractions.dll
Immutable, locally resolved capabilities of a selected chat model and request configuration.
public sealed class AIModelCapabilities
- Inheritance
-
AIModelCapabilities
- Inherited Members
Remarks
Supported describes availability, not whether an option is enabled or authorized for an account. Unknown is not Unsupported. StructuredOutput includes the common prompt/repair fallback and does not promise native constrained decoding. Numeric thinking presets are suggestions, not an exhaustive range.
Constructors
AIModelCapabilities(string?, string?, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, CapabilitySupport, IEnumerable<ReasoningLevel>?, IEnumerable<ReasoningLevel>?, IEnumerable<int>?, uint?)
public AIModelCapabilities(string? provider = null, string? model = null, CapabilitySupport streaming = CapabilitySupport.Unknown, CapabilitySupport functionCalling = CapabilitySupport.Unknown, CapabilitySupport asyncFunctionCalling = CapabilitySupport.Unknown, CapabilitySupport steering = CapabilitySupport.Unknown, CapabilitySupport reasoning = CapabilitySupport.Unknown, CapabilitySupport webSearch = CapabilitySupport.Unknown, CapabilitySupport fileSearch = CapabilitySupport.Unknown, CapabilitySupport reasoningCachePreservation = CapabilitySupport.Unknown, CapabilitySupport imageInput = CapabilitySupport.Unknown, CapabilitySupport structuredOutput = CapabilitySupport.Unknown, CapabilitySupport temperature = CapabilitySupport.Unknown, CapabilitySupport topP = CapabilitySupport.Unknown, CapabilitySupport frequencyPenalty = CapabilitySupport.Unknown, CapabilitySupport presencePenalty = CapabilitySupport.Unknown, CapabilitySupport nativeReasoning = CapabilitySupport.Unknown, CapabilitySupport thinkingToggle = CapabilitySupport.Unknown, IEnumerable<ReasoningLevel>? reasoningLevels = null, IEnumerable<ReasoningLevel>? nativeReasoningLevels = null, IEnumerable<int>? thinkingBudgetPresets = null, uint? maxOutputTokens = null)
Parameters
providerstringmodelstringstreamingCapabilitySupportfunctionCallingCapabilitySupportasyncFunctionCallingCapabilitySupportsteeringCapabilitySupportreasoningCapabilitySupportwebSearchCapabilitySupportfileSearchCapabilitySupportreasoningCachePreservationCapabilitySupportimageInputCapabilitySupportstructuredOutputCapabilitySupporttemperatureCapabilitySupporttopPCapabilitySupportfrequencyPenaltyCapabilitySupportpresencePenaltyCapabilitySupportnativeReasoningCapabilitySupportthinkingToggleCapabilitySupportreasoningLevelsIEnumerable<ReasoningLevel>nativeReasoningLevelsIEnumerable<ReasoningLevel>thinkingBudgetPresetsIEnumerable<int>maxOutputTokensuint?
Properties
AsyncFunctionCalling
public CapabilitySupport AsyncFunctionCalling { get; }
Property Value
FastSpeed
public CapabilitySupport FastSpeed { get; }
Property Value
FileSearch
public CapabilitySupport FileSearch { get; }
Property Value
FrequencyPenalty
public CapabilitySupport FrequencyPenalty { get; }
Property Value
FunctionCalling
public CapabilitySupport FunctionCalling { get; }
Property Value
ImageInput
public CapabilitySupport ImageInput { get; }
Property Value
MaxOutputTokens
public uint? MaxOutputTokens { get; }
Property Value
- uint?
Model
public string? Model { get; }
Property Value
NativeReasoning
public CapabilitySupport NativeReasoning { get; }
Property Value
NativeReasoningLevels
public IReadOnlyList<ReasoningLevel> NativeReasoningLevels { get; }
Property Value
PresencePenalty
public CapabilitySupport PresencePenalty { get; }
Property Value
Provider
public string? Provider { get; }
Property Value
Reasoning
public CapabilitySupport Reasoning { get; }
Property Value
ReasoningCachePreservation
public CapabilitySupport ReasoningCachePreservation { get; }
Property Value
ReasoningLevels
public IReadOnlyList<ReasoningLevel> ReasoningLevels { get; }
Property Value
StandardSpeed
public CapabilitySupport StandardSpeed { get; }
Property Value
Steering
public CapabilitySupport Steering { get; }
Property Value
Streaming
public CapabilitySupport Streaming { get; }
Property Value
StructuredOutput
public CapabilitySupport StructuredOutput { get; }
Property Value
Temperature
public CapabilitySupport Temperature { get; }
Property Value
ThinkingBudgetPresets
public IReadOnlyList<int> ThinkingBudgetPresets { get; }
Property Value
ThinkingToggle
public CapabilitySupport ThinkingToggle { get; }
Property Value
TopP
public CapabilitySupport TopP { get; }
Property Value
Unknown
public static AIModelCapabilities Unknown { get; }
Property Value
WebSearch
public CapabilitySupport WebSearch { get; }
Property Value
Methods
GetReasoningSupport(ReasoningLevel)
Checks a level for the common WithReasoning API. Unknown must be handled separately from rejection.
public CapabilitySupport GetReasoningSupport(ReasoningLevel level)
Parameters
levelReasoningLevel
Returns
GetSpeedSupport(InferenceSpeed)
Checks processing-mode support for this model and endpoint, not account entitlement or capacity.
public CapabilitySupport GetSpeedSupport(InferenceSpeed speed)
Parameters
speedInferenceSpeed
Returns
WithSpeedSupport(CapabilitySupport, CapabilitySupport)
Returns an independent capability snapshot with processing-mode support. Retains the original constructor for source and binary compatibility.
public AIModelCapabilities WithSpeedSupport(CapabilitySupport standard, CapabilitySupport fast)
Parameters
standardCapabilitySupportfastCapabilitySupport