ConfigurableModelProviderProperties

data class ConfigurableModelProviderProperties(var llms: Map<String, String> = emptyMap(), var embeddingServices: Map<String, String> = emptyMap(), var defaultLlm: String = "gpt-5.6-luna", var defaultEmbeddingModel: String? = null, var roles: Map<String, Map<String, LlmOptions>> = emptyMap(), var credentialServiceCacheSize: Int = 500, var embeddingRoles: Map<String, Map<String, String>> = emptyMap())

Configuration properties for the model provider

Constructors

Link copied to clipboard
constructor(llms: Map<String, String> = emptyMap(), embeddingServices: Map<String, String> = emptyMap(), defaultLlm: String = "gpt-5.6-luna", defaultEmbeddingModel: String? = null, roles: Map<String, Map<String, LlmOptions>> = emptyMap(), credentialServiceCacheSize: Int = 500, embeddingRoles: Map<String, Map<String, String>> = emptyMap())

Properties

Link copied to clipboard

Upper bound on LLM services built from user-supplied keys and held for reuse.

Link copied to clipboard

Default embedding model name. Must be an embedding model name. Need not be set, in which case it defaults to null.

Link copied to clipboard

The deployment default: either an LLM name, or a role from llms or roles. It's good practice to override this in configuration.

Link copied to clipboard

Map of role to provider to embedding model name, for deployments whose provider is not fixed

Link copied to clipboard

Map of role to embedding service name. May not include the default embedding service.

Link copied to clipboard

Map of role to LLM name. Each entry will require an LLM to be registered with the same name. May not include the default LLM.

Link copied to clipboard

Map of role to provider to options, for deployments whose provider is not fixed - a bring-your-own-key application, or one configured for failover across providers.

Functions

Link copied to clipboard

The embedding counterpart of allWellKnownLlmNames, case for case: the flat map, the per-provider map, and default-embedding-model unless it names a role. Shorter only because an embeddingRoles entry is a model NAME where a roles entry is a whole LlmOptions.

Link copied to clipboard

Every LLM name this configuration mentions, across all three places one can appear: the flat llms role map, the nested roles map (one model per provider), and default-llm.

Link copied to clipboard

Whether defaultEmbeddingModel names a role from embeddingServices or embeddingRoles rather than a model.

Link copied to clipboard

Whether defaultLlm names a role from llms or roles rather than a model.

Link copied to clipboard

Whether CONFIGURATION declares name as an embedding role.