This structure is used to return information about a model
that is available through a specific provider. It is typically populated
by the library when enumerating models or retrieving detailed
information about a specific model. Applications should treat the
contents of this structure as descriptive metadata and should not assume
that every member will contain a meaningful value for every model.
The dwProviderId member identifies which service or
platform supplies the model, using one of the LLM_PROVIDER
constants. The dwFlags member describes the capabilities supported by the
model, such as conversational input, structured output, reasoning,
vision, tool calling, or audio support. The dwStatus member
indicates the current state of the model, such as whether it is
generally available, in preview, or deprecated. These values are defined
by the library using the LLM_MODEL_FLAG and
LLM_MODEL_STATUS constants.
The nMaxTokens value represents the maximum output token
limit reported for the model. This limit only applies to generated
content and may be lower than the model's total context window. The
client can further restrict the length of generated responses if
necessary. If this value is zero, it means the provider does not
publish information about the maximum number of output tokens supported
for a response. Internally, providers often impose generation limits
that are lower than the total context size for a request, even if those
limits are not publicly documented.
The nContextSize value represents the maximum number of
tokens the model can process in a single request, including the system
prompt, conversation history, user messages and generated output. Most
cloud-based service providers offer models which support very large
context windows while limiting the maximum number of tokens that can be
generated in a single response. For example, a model may support a
context window of 1,000,000 tokens, allowing it to process very large
conversations or documents, while limiting individual responses to
128,000 output tokens.
The context window and maximum token values are advisory. They are
used when the service provider does not return detailed limit information
for a model. These values should be treated as general guidance and are
not enforced by the library. The actual limits may vary depending on the
provider, model version, deployment, enabled features and account
limits. A value of zero for either nMaxTokens or nContextSize
means those limits cannot be determined for the model. For locally
hosted models or cloud-based aggregators, these limits may also be
configurable for a specific model.
The metadata strings are provided for identification and
display purposes. The szName member contains the canonical model
name used in API requests, while szDisplayName provides a more
user-friendly label when one is available. Other fields, such as
szOwner, szVersion, szCreated, and ftCreated,
are optional and may not be supplied by every provider.
Applications should set the dwSize member before
passing this structure to a function. Unless otherwise documented,
reserved members should be set to zero. When this structure is returned
by the library, string members are stored directly in the fixed-length
buffers contained within the structure, and may be read safely by the
application.