Model capabilities may vary between providers and even between models
offered by the same provider. Not all providers return complete capability
information when enumerating models. In these cases, some flags may be
inferred by the control based on the model name and known characteristics
of the provider.
If there is no active connection to a service provider, this
property may attempt to infer the capabilities of a model based on the
values of the Provider and ModelName properties. If
the model name is recognized, the control will return the inferred
capabilities associated with that model. If the model name is not
recognized, this property will return zero (llmModelFlagNone).
Because capability information may be incomplete or inferred, applications
should treat these flags as guidance rather than absolute guarantees of
behavior. The provider ultimately determines which features are supported
and how they are implemented.
The value returned by this property is a bitmask and may contain
multiple flags combined using a bitwise Or operation. If
no capabilities are defined or available for the model, the property
will return zero . In practice, most
supported models provide at least basic conversational capabilities,
so a value of zero is uncommon and typically indicates that capability
information is not available or could not be determined.
In some cases, capability information may be incomplete or
inferred. If necessary, applications can override the detected
capabilities by changing this property value. This can be useful when working with
providers or models that require specific options which are not automatically
detected. In general, applications should rely on the default capability
detection unless a specific compatibility issue is encountered.
If necessary, applications can override the detected capabilities
for the current model by setting this property. This can be useful
when working with providers or models that require specific options
which are not automatically detected. In general, applications should
rely on the default capability detection unless a specific
compatibility issue is encountered. Incorrect capability flags may
cause requests to fail or result in undefined provider behavior.
Some flags may be reserved for internal use or represent
provider-specific capabilities. Applications should not rely on undocumented
flag values and should only test for defined constants.