Player configuration¶
A player profile under configs/player/<name>.yaml overrides the base Hydra assembly in
configs/player.yaml. The resolved configuration constructs a player service, model agent,
capabilities, identity, recorder, and observation processors.
Configuration ownership¶
| Subtree | Owner |
|---|---|
capabilities |
GPTNT's participant input, output, processing, and identity settings |
identity |
GPTNT's submission attribution |
action_predictor |
GPTNT's predictor around a Pydantic AI agent |
action_predictor.agent.model |
Pydantic AI model selection and provider attachment |
action_predictor.agent.model_settings |
Pydantic AI generic or provider-specific request settings |
observation_handler |
GPTNT's resizing, set-of-marks, and coordinate conversion |
experiment_recorder |
GPTNT's local or W&B recorder target |
Use the Pydantic AI model overview,
ModelSettings API, and
UsageLimits API for fields owned by that
library. GPTNT does not duplicate provider model lists or settings fields.
Capability relationships¶
usage_limits applies Pydantic AI request limits. GPTNT also uses its input-token limit when
truncating conversation history. tokens_per_image adds the calibrated token value for every
image in that calculation.
model_settings on PlayerCapabilities is derived by the base Hydra configuration from
action_predictor.agent.model_settings. Do not maintain a second authored copy. The derived value
retains model-input and generation settings used by the capability fingerprint while omitting the
operational settings excluded by fingerprint_model_settings.
Capabilities are benchmark identity
Image dimensions, token measurement, thinking mode, structured output, observation retention, location representation, feedback generation, and selected model settings can change model input or output. Record and compare them as part of the configured participant.
Player identity¶
Player capabilities¶
PlayerCapabilities
pydantic-model
¶
Bases: BaseModel
The capabilities of a player, that is set once on instantiation.
This tells the EM what the player is and what they can do for the matchmaking.
Attributes¶
normalised_coordinate_scale
property
¶
normalised_coordinate_scale: PositiveInt
Return the validated scale for normalised-coordinate code paths.
interact_location_type
property
¶
interact_location_type: type[SingleAlphabetLetter] | type[PixelLocation] | type[ScaledLocation]
The type used for interaction locations.
This is based on the interaction location method so that we can create the output type for the protocol without needing to have a whole different if-statement.
Image dimensions¶
ImageDimensions
dataclass
¶
Observation processing¶
The base profile supplies ObservationHandler, ImageResizer, and SetOfMarksHandler. Override
their Hydra subtrees only when the player needs different image dimensions, coordinate handling, or
mark rendering. Their callable contracts are grouped in the processor reference.