haive.games.hold_em.configurable_config¶
Configurable Hold’em configuration using the generic player agent system.
This module provides configurable Texas Hold’em game configurations that replace hardcoded LLM settings with dynamic, configurable player agents.
Classes¶
Configurable Hold'em configuration with dynamic LLM selection. |
Functions¶
|
Create a budget-friendly Hold'em configuration. |
|
Create an experimental Hold'em configuration with mixed providers. |
|
Create a heads-up specialized Hold'em configuration. |
|
Create a configurable Hold'em configuration with simple model specifications. |
|
Create a configurable Hold'em configuration from a predefined example. |
Create a configurable Hold'em configuration from detailed player configurations. |
|
|
Create a poker professional-style Hold'em configuration with powerful models. |
|
Get a predefined example configuration by name. |
List all available example configurations. |
Module Contents¶
- class haive.games.hold_em.configurable_config.ConfigurableHoldemConfig¶
Bases:
haive.games.hold_em.config.HoldemGameAgentConfig
Configurable Hold’em configuration with dynamic LLM selection.
This configuration allows users to specify different LLMs for different roles in the Texas Hold’em game, providing flexibility and avoiding hardcoded models.
- player1_model¶
Model for player 1 (can be string or LLMConfig)
- player2_model¶
Model for player 2 (can be string or LLMConfig)
- player1_name¶
Name for player 1
- player2_name¶
Name for player 2
- example_config¶
Optional example configuration name
- player_configs¶
Optional detailed player configurations
- temperature¶
Temperature for LLM generation
- enable_analysis¶
Whether to enable strategic analysis
- heads_up_mode¶
Whether this is heads-up play
- recursion_limit¶
Python recursion limit for game execution
- model_post_init(__context)¶
Initialize engines after model creation.
- Parameters:
__context (Any)
- Return type:
None
- haive.games.hold_em.configurable_config.create_budget_holdem_config(**kwargs)¶
Create a budget-friendly Hold’em configuration.
- Return type:
- haive.games.hold_em.configurable_config.create_experimental_holdem_config(**kwargs)¶
Create an experimental Hold’em configuration with mixed providers.
- Return type:
- haive.games.hold_em.configurable_config.create_heads_up_holdem_config(**kwargs)¶
Create a heads-up specialized Hold’em configuration.
- Return type:
- haive.games.hold_em.configurable_config.create_holdem_config(player1_model='gpt-4o', player2_model='claude-3-5-sonnet-20240620', **kwargs)¶
Create a configurable Hold’em configuration with simple model specifications.
- Parameters:
- Returns:
Configured Hold’em game
- Return type:
Examples
>>> config = create_holdem_config("gpt-4o", "claude-3-opus", temperature=0.5) >>> config = create_holdem_config( ... "openai:gpt-4o", ... "anthropic:claude-3-5-sonnet-20240620", ... heads_up_mode=True ... )
- haive.games.hold_em.configurable_config.create_holdem_config_from_example(example_name, **kwargs)¶
Create a configurable Hold’em configuration from a predefined example.
- Parameters:
example_name (str) – Name of the example configuration
**kwargs – Additional configuration parameters to override
- Returns:
Configured Hold’em game
- Return type:
- Available examples:
“gpt_vs_claude”: GPT vs Claude
“gpt_only”: GPT for both players
“claude_only”: Claude for both players
“budget”: Cost-effective models
“mixed”: Different provider per role
“poker_pros”: High-powered models for strategic gameplay
“heads_up”: Specialized for heads-up play
Examples
>>> config = create_holdem_config_from_example("budget", temperature=0.3) >>> config = create_holdem_config_from_example("poker_pros", heads_up_mode=True)
- haive.games.hold_em.configurable_config.create_holdem_config_from_player_configs(player_configs, **kwargs)¶
Create a configurable Hold’em configuration from detailed player configurations.
- Parameters:
player_configs (dict[str, haive.games.core.agent.player_agent.PlayerAgentConfig]) – Dictionary mapping role names to player configurations
**kwargs – Additional configuration parameters
- Returns:
Configured Hold’em game
- Return type:
- Expected roles:
“player1_player”: Player 1 configuration
“player2_player”: Player 2 configuration
“player1_analyzer”: Player 1 analyzer configuration
“player2_analyzer”: Player 2 analyzer configuration
Examples
>>> player_configs = { ... "player1_player": PlayerAgentConfig( ... llm_config="gpt-4o", ... temperature=0.7, ... player_name="Poker Pro" ... ), ... "player2_player": PlayerAgentConfig( ... llm_config="claude-3-opus", ... temperature=0.3, ... player_name="Card Shark" ... ), ... "player1_analyzer": PlayerAgentConfig( ... llm_config="gpt-4o", ... temperature=0.2, ... player_name="Strategic Analyst" ... ), ... "player2_analyzer": PlayerAgentConfig( ... llm_config="claude-3-opus", ... temperature=0.2, ... player_name="Game Theory Expert" ... ), ... } >>> config = create_holdem_config_from_player_configs(player_configs)
- haive.games.hold_em.configurable_config.create_poker_pro_holdem_config(**kwargs)¶
Create a poker professional-style Hold’em configuration with powerful models.
- Return type:
- haive.games.hold_em.configurable_config.get_example_config(name)¶
Get a predefined example configuration by name.
- Parameters:
name (str) – Name of the example configuration
- Returns:
The example configuration
- Return type:
- Raises:
ValueError – If the example name is not found