haive.games.connect4.configurable_config ======================================== .. py:module:: haive.games.connect4.configurable_config .. autoapi-nested-parse:: Configurable Connect4 agent configuration using player agents. from typing import Any This module provides a Connect4 configuration that supports configurable player agents instead of hardcoded engine configurations. Classes ------- .. autoapisummary:: haive.games.connect4.configurable_config.ConfigurableConnect4Config Functions --------- .. autoapisummary:: haive.games.connect4.configurable_config.create_connect4_config haive.games.connect4.configurable_config.create_connect4_config_from_example haive.games.connect4.configurable_config.create_connect4_config_from_player_configs Module Contents --------------- .. py:class:: ConfigurableConnect4Config Bases: :py:obj:`haive.core.engine.agent.agent.AgentConfig` Configurable Connect4 agent configuration. This configuration supports using different LLM configurations for different players without hardcoding them in engines. .. rubric:: Examples >>> # Simple string-based configuration >>> config = ConfigurableConnect4Config( ... red_model="gpt-4", ... yellow_model="claude-3-opus" ... ) >>> # Using player agent configs >>> config = ConfigurableConnect4Config( ... player_configs={ ... "red_player": PlayerAgentConfig(llm_config="gpt-4"), ... "yellow_player": PlayerAgentConfig(llm_config="claude-3-opus"), ... } ... ) >>> # Using example configuration >>> config = ConfigurableConnect4Config( ... example_config="gpt_vs_claude" ... ) .. py:class:: Config Pydantic configuration. .. py:method:: configure_engines_and_names() Configure engines from the provided player configurations. .. py:function:: create_connect4_config(red_model = 'gpt-4o', yellow_model = 'claude-3-5-sonnet-20240620', temperature = 0.7, enable_analysis = False, **kwargs) Create a Connect4 configuration with simple model strings. :param red_model: Model for red player :param yellow_model: Model for yellow player :param temperature: Temperature for all engines :param enable_analysis: Whether to enable position analysis :param \*\*kwargs: Additional configuration parameters :returns: Configured Connect4 agent :rtype: ConfigurableConnect4Config .. rubric:: Example >>> config = create_connect4_config("gpt-4", "claude-3-opus", temperature=0.8) .. py:function:: create_connect4_config_from_example(example_name, enable_analysis = False, **kwargs) Create a Connect4 configuration from an example. :param example_name: Name of the example configuration :param enable_analysis: Whether to enable position analysis :param \*\*kwargs: Additional configuration parameters :returns: Configured Connect4 agent :rtype: ConfigurableConnect4Config Available examples: gpt_vs_claude, gpt_only, claude_only, budget, mixed .. rubric:: Example >>> config = create_connect4_config_from_example("budget") .. py:function:: create_connect4_config_from_player_configs(player_configs, enable_analysis = False, **kwargs) Create a Connect4 configuration from player agent configurations. :param player_configs: Dictionary of role to player configuration :param enable_analysis: Whether to enable position analysis :param \*\*kwargs: Additional configuration parameters :returns: Configured Connect4 agent :rtype: ConfigurableConnect4Config .. rubric:: Example >>> configs = { ... "red_player": create_player_config("gpt-4", player_name="Red Master"), ... "yellow_player": create_player_config("claude-3-opus", player_name="Yellow Pro"), ... } >>> config = create_connect4_config_from_player_configs(configs)