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.
-
Clone the repository:
git clone https://github.com/stepfnAI/experiment_config_agent.git cd experiment-configuration-agent
-
Set up the environment and install dependencies: It is recommended to use a virtual environment.
uvcan 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.
-
Create a
.envfile 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-..." -
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)
| File | Size | Uploaded | |
|---|---|---|---|
| experiment_configuration_agent-0.1.16.tar.gz | 19.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|