Skip to content

Provider configuration

A provider profile under configs/player/provider/<name>.yaml is a Hydra override for player.action_predictor.agent.model.provider. A run-manifest roster entry or a command's --provider option selects it beside one player profile.

Local composition contract

Local element Contract
# @package player.action_predictor.agent.model Places the profile beneath the selected model node.
provider._target_ Hydra target for the Pydantic AI provider or provider factory.
PlayerSpec.provider Selects the provider profile for one interactive roster entry.
--provider Selects the same override for calibration and static commands that expose it.

The model node must use an explicit _target_ form when a provider profile is attached. A short model string is replaced by the nested provider mapping and therefore cannot retain its model class. Doctor detects this conflict.

Checked-in profiles

Profile Local target pattern
anthropic AnthropicProvider
anthropic_foundry AnthropicProvider with an AsyncAnthropicFoundry client
azure AzureProvider
gateway_vertex Pydantic AI's gateway provider factory for Google Vertex
google GoogleProvider with GPTNT's cached retrying HTTP client
openai OpenAIProvider
vllm_box1 through vllm_box4 OpenAIProvider with an AsyncOpenAI client, endpoint, and access headers

These profiles are local examples, not a complete provider field catalogue. Provider constructors, model lists, SDK-client fields, credential environment variables, and endpoint semantics belong to the Pydantic AI provider documentation and the linked provider SDKs.

Do not commit credentials

Use environment interpolation such as ${oc.env:API_KEY_NAME} for credentials. The checked-in self-hosted examples also read Cloudflare Access values from the environment.

Validation boundary

Doctor composes the player and provider sequentially, constructs capabilities and identity, then constructs the Pydantic AI agent. A missing provider credential fails the Inst. column. With --live, doctor makes one request and reports the result in Live.