This structure is used to describe a language model
provider, including its identity, endpoint information, and basic
capabilities. It is typically populated by the library when enumerating
known providers or retrieving information about a specific provider.
The dwProviderId member identifies the provider
using one of the LLM_PROVIDER constants, while the dwFlags
member indicates provider-level requirements or supported features, such
as whether the provider requires TLS, requires authentication, supports
enumerating models, or supports returning detailed model information.
The nProtocol member identifies the default protocol used to
communicate with the provider endpoint, such as HTTP or HTTPS.
The string members provide descriptive metadata about the provider.
The szName member contains the canonical provider name.
The szHostName member specifies the default network hostname
associated with the provider, and szDefaultModel specifies the
default model that may be used if the application does not explicitly
choose one.
Not all providers supply the same level of detail. Some
values may be empty or unspecified, particularly for custom, local, or
application-defined providers. Applications should treat the contents of
this structure as descriptive metadata and should not assume that every
member will contain a meaningful value in all cases.
Applications should set the dwSize member before
passing this structure to a function. Unless otherwise documented,
reserved members should be set to zero. Because all string values are
stored directly in the fixed-length buffers contained within the
structure, the application may safely read or copy them as needed.