The LlmGetModelFlags function returns a set of bit flags that
describe the capabilities supported by the current model associated with
the client session. These flags can be used by applications to determine
which features are available and adjust behavior accordingly.
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 library based on the model name and known characteristics
of the provider.
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 in the lpdwFlags parameter 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 value will be set
to LLM_MODEL_FLAG_NONE. 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 using the
LlmSetModelFlags function. 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.
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 LLM_MODEL_FLAG constants.