roles
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.
embabel:
models:
roles:
cheapest:
openai: { model: gpt-4.1-nano }
anthropic: { model: claude-haiku-4-5 }Takes precedence over llms for the active provider.
Whether an unregistered model here is an error depends on WHOSE provider it is under. Under the deployment's own provider the rule is the same as llms - fatal at startup, because it is a typo. Under any other provider it is not checked at all: that entry exists for a user who brings a key for that provider, so its model is not expected to be registered here.
A deployment awaiting a key is the exception to both, and warns rather than failing - nothing is registered yet, so no name can resolve and none of it is a typo.
Declared last, despite belonging with llms, so that adding it does not renumber the existing parameters for anyone constructing this positionally.