Skip to main content

Experiment Configuration Agent for AutoGluon

This agent uses a Large Language Model to recommend optimal configurations for AutoGluon's TabularPredictor based on your machine learning problem context. By providing details about your domain, use case, and dataset, the agent will generate a set of TabularPredictor parameters designed to optimize for performance and efficiency.

Features

  • Intelligent Configuration: Leverages LLMs to recommend eval_metric, presets, time_limit, and ensembling parameters.
  • Context-Aware: Considers the business domain, specific use case, ML methodology (e.g., classification, regression), and dataset characteristics.
  • Flexible Backend: Powered by sfn-blueprint, allowing for a configurable LLM backend.
  • Multiple Scenarios: Provides recommendations for different optimization goals, such as maximizing accuracy, balancing performance and speed, or fast prototyping.

Installation

This project uses uv for dependency management and requires Python 3.10 or higher.

  1. Clone the repository:

    git clone https://github.com/stepfnAI/experiment_config_agent.git
    cd experiment-configuration-agent
    
  2. Set up the environment and install dependencies: It is recommended to use a virtual environment. uv can create one for you.

    # Create a virtual environment and install dependencies
    uv sync --extra dev
     source .venv/bin/activate
    

Usage

Basic usage

python ./examples/basic_usage.py

To get a configuration recommendation, instantiate the AutoGluonConfigAgent and pass a dictionary containing the problem context.

  1. Create a .env file in the project root to configure the LLM provider. See the Configuration section for more details.

    PROVIDER="openai"
    MODEL="gpt-4-turbo"
    # Add your API key, e.g., OPENAI_API_KEY="sk-..."
    
  2. Create your Python script:

    from experiment_configuration_agent.agent import AutoGluonConfigAgent
    
    # 1. Define the problem context
    task_data = {
        "domain": {
            "name": "Manufacturing",
            "description": "An automotive parts manufacturing facility with multiple production lines."
        },
        "use_case": {
            "name": "Predictive Maintenance",
            "description": "Detect unusual temporal patterns in sensor data to predict equipment failure and prevent breakdowns."
        },
        "methodology": "binary_classification",
        "dataset_insights": {
            "num_samples": 5000,
            "num_features": 10,
            "target": {
                "name": "failure_flag",
                "imbalance_ratio": 0.05 # Highly imbalanced
            },
            "feature_summary": {
                "sensor_A": {"min": 0.1, "max": 100.5, "dtype": "float"},
                "production_line_id": {"unique_count": 3, "dtype": "category"}
            }
        }
    }
    
    # 2. Initialize the agent
    agent = AutoGluonConfigAgent()
    
    # 3. Get the configuration recommendation
    result = agent(task_data)
    
    # 4. Print the result
    print("Recommended AutoGluon Configuration:")
    print(result.get("configuration"))
    print("\nCost Summary:")
    print(result.get("cost_summary"))
    

Configuration

The agent is configured via environment variables, which can be placed in a .env file in the project root. The primary configurations are inherited from the GluonConfig class.

  • PROVIDER: The LLM provider to use (e.g., "openai", "anthropic").
  • MODEL: The specific model to use (e.g., "gpt-4-turbo", "claude-3-opus-20240229").
  • TEMPERATURE: The model's temperature setting (e.g., 0.3).
  • MAX_TOKENS: The maximum number of tokens for the response (e.g., 4000).

You will also need to set the API key for your chosen provider, for example OPENAI_API_KEY="your-key-here".

Testing

This project uses pytest. To run the test suite, execute the following command from the project root:

pytest

Release files for experiment-configuration-agent 0.1.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for experiment-configuration-agent 0.1.16
File Size Uploaded
experiment_configuration_agent-0.1.16.tar.gz 19.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for experiment-configuration-agent 0.1.16
File Interpreter ABI Platform
experiment_configuration_agent-0.1.16-py3-none-any.whl Python 3 none any Details

Total release size: 38.3 kB

Release files / experiment_configuration_agent-0.1.16.tar.gz

Download URL experiment_configuration_agent-0.1.16.tar.gz
Size 19.5 kB
Tags Source
SHA-256 checksum
How to use checksums
aed4d3f0d7c527a023aba468ea46c728200d050e91e280e7b13ea0304526d05f
BLAKE2b-256 checksum
How to use checksums
6ff3171c234d397b312f9be9b5736036ec5ee93849856c17934a34e697577d96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / experiment_configuration_agent-0.1.16-py3-none-any.whl

Download URL experiment_configuration_agent-0.1.16-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d64463fdd6128742fa868ceda67a448facac53e8601134433033c6b7b0c69d3
BLAKE2b-256 checksum
How to use checksums
d09a490de55c6d6675e3c44183a1b223970cfcdbe0a91be514e284511fbf3839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.1.16 This release

2 release files

0.1.15

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page