跳到主要内容
版本:最新版

Model configuration patterns

Use this matrix to choose the smallest valid Model declaration. All examples are entries under providers.models.

Supported combinations

Goalcatalogreasoningprovider_model_idBackend
Use a catalog model through a Provider that lists itCanonical Model Card IDOmit; inheritedUsually omit; Provider support supplies itSet the Provider ID.
Use a catalog model through an operator-named deploymentCanonical Model Card IDOmit; inheritedSet deployment nameSet the deployment Provider.
Use a private model without Router-generated reasoning controlsOmitOmitSet when different from nameSet the Provider and endpoint.
Use a private model with a known built-in familyOmitfamily: <built-in-id>OptionalSet a compatible Provider and endpoint.
Use a private model with unique reasoning controlsOmitComplete inline definitionOptionalSet a compatible Provider and endpoint.
Add routing metadata to a private modelOmitOptionalOptionalAdd routing.modelCards under the alias.
Add local metadata to a catalog modelCanonical Model Card IDOmit; inheritedProvider-dependentAdd routing.modelCards under the catalog ID.
Load balance identical replicasEitherDetermined by model identityOne effective IDPut homogeneous targets in one backend_refs list.
Route across different Providers or protocolsConfigure one Model per contractDetermined per ModelDetermined per ProviderUse separate aliases in the same decision.

Catalog model with an automatic mapping

- name: production
catalog: openai/gpt-5.6-sol
backend_refs:
- provider: openai
api_key_env: OPENAI_API_KEY

Catalog model with an operator deployment name

- name: team-reasoner
catalog: microsoft/mai-thinking-1
provider_model_id: my-production-deployment
backend_refs:
- provider: microsoft-foundry
base_url: https://example.services.ai.azure.com
api_key_env: FOUNDRY_API_KEY

Custom pass-through model

- name: local-chat
provider_model_id: served-chat
api_format: openai
backend_refs:
- provider: vllm
endpoint: host.docker.internal:8000
protocol: http

Custom model with a built-in family

- name: local-qwen
provider_model_id: served-qwen
reasoning:
family: qwen3
backend_refs:
- provider: vllm
endpoint: host.docker.internal:8000
protocol: http

Custom model with inline reasoning

- name: private-reasoner
reasoning:
type: reasoning_effort
parameter: reasoning_effort
levels: [low, medium, high]
default: medium
modes: [enabled, disabled]
default_mode: enabled
disabled: none
backend_refs:
- provider: vllm
endpoint: host.docker.internal:8000
protocol: http

Combinations that validation rejects

  • catalog together with any providers.models[].reasoning block;
  • reasoning.family together with inline reasoning fields;
  • an inline definition without both type and parameter;
  • a Model Card override named after a catalog-backed alias instead of its canonical catalog ID;
  • a custom Model Card whose name differs from the custom Model alias;
  • a decision effort or mode unsupported by the Model family or Provider mapping; and
  • heterogeneous Providers, protocols, credentials, native IDs, paths, or TLS semantics inside one replica pool.

Run vllm-sr validate --config config.yaml after composing a pattern. See Configure models for the identity model and Reasoning configuration for the complete reasoning fields.