games.checkers.generic_engines¶
Generic Checkers engines using the new generic player agent system.
from typing import Any This module demonstrates how to use the generic player agent system for Checkers, showing the same pattern working across different games with different player identifiers.
Classes¶
Checkers-specific prompt generator using the generic system. |
Functions¶
Compare the checkers pattern with other games to show generalization. |
|
|
Create Checkers engines from predefined examples using generics. |
|
Create Checkers engines using the generic system. |
|
Create Checkers engines with simple model configurations using generics. |
Create engines for multiple games including checkers. |
Module Contents¶
- class games.checkers.generic_engines.CheckersPromptGenerator(players)¶
Bases:
haive.games.core.agent.generic_player_agent.GenericPromptGenerator
[str
,str
]Checkers-specific prompt generator using the generic system.
Init .
- Parameters:
players (GamePlayerIdentifiers[PlayerType, PlayerType2]) – [TODO: Add description]
- create_analysis_prompt(player)¶
Create a Checkers analysis prompt for the specified player.
- Parameters:
player (str) – Player color (“red” or “black”)
- Returns:
Prompt template for position analysis
- Return type:
ChatPromptTemplate
- create_move_prompt(player)¶
Create a Checkers move prompt for the specified player.
- Parameters:
player (str) – Player color (“red” or “black”)
- Returns:
Prompt template for move generation
- Return type:
ChatPromptTemplate
- get_analysis_output_model()¶
Get the structured output model for Checkers analysis.
- Return type:
- games.checkers.generic_engines.compare_checkers_with_other_games()¶
Compare the checkers pattern with other games to show generalization.
This function demonstrates how the same generic system works for different games with different player naming conventions.
- Return type:
None
- games.checkers.generic_engines.create_generic_checkers_config_from_example(example_name, temperature=0.3)¶
Create Checkers engines from predefined examples using generics.
- Parameters:
- Returns:
Dictionary of engines
- Return type:
- Available examples:
“gpt_vs_claude”: GPT-4 vs Claude
“gpt_only”: GPT-4 for both players
“claude_only”: Claude for both players
“budget”: Cost-effective models
“mixed”: Different provider per role
“checkers_masters”: High-powered models for competitive play
- games.checkers.generic_engines.create_generic_checkers_engines(player_configs)¶
Create Checkers engines using the generic system.
- Parameters:
player_configs (dict[str, haive.games.core.agent.player_agent.PlayerAgentConfig]) – Dictionary of role name to player configuration
- Returns:
Dictionary of configured engines
- Return type:
Example
>>> configs = { ... "red_player": PlayerAgentConfig(llm_config="gpt-4"), ... "black_player": PlayerAgentConfig(llm_config="claude-3-opus"), ... "red_analyzer": PlayerAgentConfig(llm_config="gpt-4"), ... "black_analyzer": PlayerAgentConfig(llm_config="claude-3-opus"), ... } >>> engines = create_generic_checkers_engines(configs)
- games.checkers.generic_engines.create_generic_checkers_engines_simple(red_model='gpt-4o', black_model='claude-3-5-sonnet-20240620', temperature=0.3, **kwargs)¶
Create Checkers engines with simple model configurations using generics.
- Parameters:
- Returns:
Dictionary of engines
- Return type:
Example
>>> engines = create_generic_checkers_engines_simple("gpt-4", "claude-3-opus") >>> engines = create_generic_checkers_engines_simple( ... "openai:gpt-4o", ... "anthropic:claude-3-5-sonnet-20240620", ... temperature=0.5 ... )
- games.checkers.generic_engines.create_multi_game_checkers_demo()¶
Create engines for multiple games including checkers.
This demonstrates how the same configuration approach works across different games with the generic system.
- Return type:
Any