haive.games.debate.configurable_config¶
Configurable Debate configuration using the generic player agent system.
This module provides configurable Debate game configurations that replace hardcoded LLM settings with dynamic, configurable player agents.
Classes¶
Configurable Debate configuration with dynamic LLM selection. |
Functions¶
|
Create an advanced Debate configuration with powerful models. |
|
Create a budget-friendly Debate configuration. |
|
Create a configurable Debate configuration with simple model specifications. |
|
Create a configurable Debate configuration from a predefined example. |
Create a configurable Debate configuration from detailed player configurations. |
|
|
Create an experimental Debate configuration with mixed providers. |
|
Get a predefined example configuration by name. |
List all available example configurations. |
Module Contents¶
- class haive.games.debate.configurable_config.ConfigurableDebateConfig¶
Bases:
haive.games.debate.config.DebateAgentConfig
Configurable Debate configuration with dynamic LLM selection.
This configuration allows users to specify different LLMs for different roles in the Debate game, providing flexibility and avoiding hardcoded models.
- debater1_model¶
Model for debater1 (can be string or LLMConfig)
- debater2_model¶
Model for debater2 (can be string or LLMConfig)
- debater1_name¶
Name for debater1
- debater2_name¶
Name for debater2
- example_config¶
Optional example configuration name
- player_configs¶
Optional detailed player configurations
- temperature¶
Temperature for LLM generation
- enable_analysis¶
Whether to enable strategic analysis
- visualize_game¶
Whether to visualize game state
- 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.debate.configurable_config.create_advanced_debate_config(**kwargs)¶
Create an advanced Debate configuration with powerful models.
- Return type:
- haive.games.debate.configurable_config.create_budget_debate_config(**kwargs)¶
Create a budget-friendly Debate configuration.
- Return type:
- haive.games.debate.configurable_config.create_debate_config(debater1_model='gpt-4o', debater2_model='claude-3-5-sonnet-20240620', **kwargs)¶
Create a configurable Debate configuration with simple model specifications.
- Parameters:
- Returns:
Configured Debate game
- Return type:
Examples
>>> config = create_debate_config("gpt-4o", "claude-3-opus", temperature=0.5) >>> config = create_debate_config( ... "openai:gpt-4o", ... "anthropic:claude-3-5-sonnet-20240620", ... enable_analysis=True ... )
- haive.games.debate.configurable_config.create_debate_config_from_example(example_name, **kwargs)¶
Create a configurable Debate configuration from a predefined example.
- Parameters:
example_name (str) – Name of the example configuration
**kwargs – Additional configuration parameters to override
- Returns:
Configured Debate 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
“advanced”: High-powered models for strategic gameplay
Examples
>>> config = create_debate_config_from_example("budget", enable_analysis=False) >>> config = create_debate_config_from_example("advanced", visualize_game=True)
- haive.games.debate.configurable_config.create_debate_config_from_player_configs(player_configs, **kwargs)¶
Create a configurable Debate 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 Debate game
- Return type:
- Expected roles:
“debater1_player”: Player 1 configuration
“debater2_player”: Player 2 configuration
“debater1_analyzer”: Player 1 analyzer configuration
“debater2_analyzer”: Player 2 analyzer configuration
Examples
>>> player_configs = { ... "debater1_player": PlayerAgentConfig( ... llm_config="gpt-4o", ... temperature=0.7, ... player_name="Strategic Debater A" ... ), ... "debater2_player": PlayerAgentConfig( ... llm_config="claude-3-opus", ... temperature=0.3, ... player_name="Tactical Debater B" ... ), ... "debater1_analyzer": PlayerAgentConfig( ... llm_config="gpt-4o", ... temperature=0.2, ... player_name="Debate Strategist" ... ), ... "debater2_analyzer": PlayerAgentConfig( ... llm_config="claude-3-opus", ... temperature=0.2, ... player_name="Debate Analyst" ... ), ... } >>> config = create_debate_config_from_player_configs(player_configs)
- haive.games.debate.configurable_config.create_experimental_debate_config(**kwargs)¶
Create an experimental Debate configuration with mixed providers.
- Return type:
- haive.games.debate.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