autogluon.assistant


Nameautogluon.assistant JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryML Assistant for Competitive Machine Learning
upload_time2024-11-19 23:27:29
maintainerNone
docs_urlNone
authorAutoGluon Community
requires_python<3.12,>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="left">
  <img src="https://user-images.githubusercontent.com/16392542/77208906-224aa500-6aba-11ea-96bd-e81806074030.png" width="350">
</div>
# AutoGluon Assistant

[![Python Versions](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)](https://pypi.org/project/autogluon.assistant/)
[![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)
[![Continuous Integration](https://github.com/autogluon/autogluon-assistant/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/autogluon/autogluon-assistant/actions/workflows/continuous_integration.yml)


AutoGluon Assistant (AG-A) provides users a simple interface where they can input their data, describe their problem, and receive a highly accurate and competitive ML solution — without writing any code. By leveraging the state-of-the-art AutoML capabilities of [AutoGluon](https://github.com/autogluon/autogluon) and integrating them with a Large Language Model (LLM), AG-A automates the entire data science pipeline. AG-A takes [AutoGluon](https://github.com/autogluon/autogluon)'s automation from three lines of code to zero, enabling users to solve new supervised learning tabular problems using only natural language descriptions.

## 💾 Installation

AutoGluon Assistant is supported on Python 3.8 - 3.11 and is available on Linux, MacOS, and Windows.

You can install with:

```bash
pip install autogluon.assistant
```

You can also install from source:

```bash
git clone https://github.com/autogluon/autogluon-assistant.git
cd autogluon-assistant && pip install -e "."
```


#### Beta Features

AG-A now supports automatic feature generation as part of its beta features. To enable these features, please install the beta version dependencies using the following command:

```bash
pip install -r requirements.txt
```

### API Keys

#### Configuring LLMs
AG-A supports using both AWS Bedrock and OpenAI as LLM model providers. You will need to set up API keys for the respective provider you choose. By default, AG-A uses AWS Bedrock for its language models.

#### AWS Bedrock Setup
AG-A integrates with AWS Bedrock by default. To use AWS Bedrock, you will need to configure your AWS credentials and region settings:

```bash
export AWS_DEFAULT_REGION="<your-region>"
export AWS_ACCESS_KEY_ID="<your-access-key>"
export AWS_SECRET_ACCESS_KEY="<your-secret-key>"
```

Ensure you have an active AWS account and appropriate permissions set up for using Bedrock models. You can manage your AWS credentials through the AWS Management Console. See [Bedrock supported AWS regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html)


#### OpenAI Setup
To use OpenAI, you'll need to set your OpenAI API key as an environment variable:

```bash
export OPENAI_API_KEY="sk-..."
```

You can sign up for an OpenAI account [here](https://platform.openai.com/) and manage your API keys [here](https://platform.openai.com/account/api-keys).

Important: Free-tier OpenAI accounts may be subject to rate limits, which could affect AG-A's performance. We recommend using a paid OpenAI API key for seamless functionality.


## Usage

We support two ways of using AutoGluon Assistant: WebUI and CLI.

### Web UI
AutoGluon Assistant Web UI allows users to leverage the capabilities of AG-A through an intuitive web interface.

The web UI enables users to upload datasets, configure AG-A runs with customized settings, preview data, monitor execution progress, view and download results, and supports secure, isolated sessions for concurrent users.

#### To run the AG-A Web UI:

```bash
aga ui

# OR

# Launch Web-UI on specific port e.g. 8888
aga ui --port 8888
```

AG-A Web UI should now be accessible in your web browser at `http://localhost:8501` or the specified port.


### CLI

Before launching AG-A CLI, prepare your data files in the following structure:

```
└── data # Data files directory
    ├── train.[ext] # Training dataset (required)
    ├── test.[ext]  # Test dataset (required)
    └── description.txt # Dataset and task description (recommended)
```

Note:
- The training and test files can be in any tabular data format (e.g., csv, parquet, xlsx)
- While there are no strict naming requirements, we recommend using clear, descriptive filenames
- The description file is optional but recommended for better model selection and optimization. It can include:
  - Dataset description
  - Problem context
  - Evaluation metrics
  - Any other relevant information

Now you can launch the AutoGluon Assistant run using the following command:

```bash
aga run [NAME_OF_DATA_DIR] --presets [PRESET_QUALITY]
# e.g. aga run ./toy_data --presets best_quality
```

We support three presets, including `medium_quality`, `high_quality` and `best_quality`. We use `best_quality` as a default setting.

After the run is complete, model predictions on test dataset are saved into the `aga-output-<timestamp>.csv` file. It will be formatted according to optional `sample_submission.csv` file if provided.

#### Overriding Configs

You can override specific settings in the YAML configuration defined in the [config folder](https://github.com/autogluon/autogluon-assistant/tree/main/src/autogluon/assistant/configs) using
the `config_overrides` parameter with format `"key1=value1, key2.nested=value2"` from the command line.


Here are some example commands on using configuration overrides:

```bash
aga run toy_data --config_overrides "feature_transformers.enabled_models=None, time_limit=3600"

# OR

aga run toy_data --config_overrides "feature_transformers.enabled_models=None" --config_overrides "time_limit=3600"
```

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "autogluon.assistant",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "AutoGluon Community",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/29/48/c1aab5f286f116ee218b7aeabbb32f98f22cf3b5cb2adaed01670d92e472/autogluon_assistant-0.1.0.tar.gz",
    "platform": null,
    "description": "<div align=\"left\">\n  <img src=\"https://user-images.githubusercontent.com/16392542/77208906-224aa500-6aba-11ea-96bd-e81806074030.png\" width=\"350\">\n</div>\n# AutoGluon Assistant\n\n[![Python Versions](https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C%203.10%20%7C%203.11-blue)](https://pypi.org/project/autogluon.assistant/)\n[![GitHub license](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](./LICENSE)\n[![Continuous Integration](https://github.com/autogluon/autogluon-assistant/actions/workflows/continuous_integration.yml/badge.svg)](https://github.com/autogluon/autogluon-assistant/actions/workflows/continuous_integration.yml)\n\n\nAutoGluon Assistant (AG-A) provides users a simple interface where they can input their data, describe their problem, and receive a highly accurate and competitive ML solution \u2014 without writing any code. By leveraging the state-of-the-art AutoML capabilities of [AutoGluon](https://github.com/autogluon/autogluon) and integrating them with a Large Language Model (LLM), AG-A automates the entire data science pipeline. AG-A takes [AutoGluon](https://github.com/autogluon/autogluon)'s automation from three lines of code to zero, enabling users to solve new supervised learning tabular problems using only natural language descriptions.\n\n## \ud83d\udcbe Installation\n\nAutoGluon Assistant is supported on Python 3.8 - 3.11 and is available on Linux, MacOS, and Windows.\n\nYou can install with:\n\n```bash\npip install autogluon.assistant\n```\n\nYou can also install from source:\n\n```bash\ngit clone https://github.com/autogluon/autogluon-assistant.git\ncd autogluon-assistant && pip install -e \".\"\n```\n\n\n#### Beta Features\n\nAG-A now supports automatic feature generation as part of its beta features. To enable these features, please install the beta version dependencies using the following command:\n\n```bash\npip install -r requirements.txt\n```\n\n### API Keys\n\n#### Configuring LLMs\nAG-A supports using both AWS Bedrock and OpenAI as LLM model providers. You will need to set up API keys for the respective provider you choose. By default, AG-A uses AWS Bedrock for its language models.\n\n#### AWS Bedrock Setup\nAG-A integrates with AWS Bedrock by default. To use AWS Bedrock, you will need to configure your AWS credentials and region settings:\n\n```bash\nexport AWS_DEFAULT_REGION=\"<your-region>\"\nexport AWS_ACCESS_KEY_ID=\"<your-access-key>\"\nexport AWS_SECRET_ACCESS_KEY=\"<your-secret-key>\"\n```\n\nEnsure you have an active AWS account and appropriate permissions set up for using Bedrock models. You can manage your AWS credentials through the AWS Management Console. See [Bedrock supported AWS regions](https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html)\n\n\n#### OpenAI Setup\nTo use OpenAI, you'll need to set your OpenAI API key as an environment variable:\n\n```bash\nexport OPENAI_API_KEY=\"sk-...\"\n```\n\nYou can sign up for an OpenAI account [here](https://platform.openai.com/) and manage your API keys [here](https://platform.openai.com/account/api-keys).\n\nImportant: Free-tier OpenAI accounts may be subject to rate limits, which could affect AG-A's performance. We recommend using a paid OpenAI API key for seamless functionality.\n\n\n## Usage\n\nWe support two ways of using AutoGluon Assistant: WebUI and CLI.\n\n### Web UI\nAutoGluon Assistant Web UI allows users to leverage the capabilities of AG-A through an intuitive web interface.\n\nThe web UI enables users to upload datasets, configure AG-A runs with customized settings, preview data, monitor execution progress, view and download results, and supports secure, isolated sessions for concurrent users.\n\n#### To run the AG-A Web UI:\n\n```bash\naga ui\n\n# OR\n\n# Launch Web-UI on specific port e.g. 8888\naga ui --port 8888\n```\n\nAG-A Web UI should now be accessible in your web browser at `http://localhost:8501` or the specified port.\n\n\n### CLI\n\nBefore launching AG-A CLI, prepare your data files in the following structure:\n\n```\n\u2514\u2500\u2500 data # Data files directory\n    \u251c\u2500\u2500 train.[ext] # Training dataset (required)\n    \u251c\u2500\u2500 test.[ext]  # Test dataset (required)\n    \u2514\u2500\u2500 description.txt # Dataset and task description (recommended)\n```\n\nNote:\n- The training and test files can be in any tabular data format (e.g., csv, parquet, xlsx)\n- While there are no strict naming requirements, we recommend using clear, descriptive filenames\n- The description file is optional but recommended for better model selection and optimization. It can include:\n  - Dataset description\n  - Problem context\n  - Evaluation metrics\n  - Any other relevant information\n\nNow you can launch the AutoGluon Assistant run using the following command:\n\n```bash\naga run [NAME_OF_DATA_DIR] --presets [PRESET_QUALITY]\n# e.g. aga run ./toy_data --presets best_quality\n```\n\nWe support three presets, including `medium_quality`, `high_quality` and `best_quality`. We use `best_quality` as a default setting.\n\nAfter the run is complete, model predictions on test dataset are saved into the `aga-output-<timestamp>.csv` file. It will be formatted according to optional `sample_submission.csv` file if provided.\n\n#### Overriding Configs\n\nYou can override specific settings in the YAML configuration defined in the [config folder](https://github.com/autogluon/autogluon-assistant/tree/main/src/autogluon/assistant/configs) using\nthe `config_overrides` parameter with format `\"key1=value1, key2.nested=value2\"` from the command line.\n\n\nHere are some example commands on using configuration overrides:\n\n```bash\naga run toy_data --config_overrides \"feature_transformers.enabled_models=None, time_limit=3600\"\n\n# OR\n\naga run toy_data --config_overrides \"feature_transformers.enabled_models=None\" --config_overrides \"time_limit=3600\"\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "ML Assistant for Competitive Machine Learning",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/autogluon/autogluon-assistant"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d95a138cc243db0fa4a7ffda3cb8357a3630148c16f362ca2dd19bffa011786b",
                "md5": "67c628aff8f76e815e10a8221022fa30",
                "sha256": "4f37b44b8dbd4cc40c09a329b24d2a8ea5acb97794deaed0bdfefca5142fa64b"
            },
            "downloads": -1,
            "filename": "autogluon.assistant-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "67c628aff8f76e815e10a8221022fa30",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.8",
            "size": 1616104,
            "upload_time": "2024-11-19T23:27:26",
            "upload_time_iso_8601": "2024-11-19T23:27:26.831016Z",
            "url": "https://files.pythonhosted.org/packages/d9/5a/138cc243db0fa4a7ffda3cb8357a3630148c16f362ca2dd19bffa011786b/autogluon.assistant-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2948c1aab5f286f116ee218b7aeabbb32f98f22cf3b5cb2adaed01670d92e472",
                "md5": "b0b357ba61d28a3fc2af2d12e142b466",
                "sha256": "9f13843ccd78f02212b4a51470a2cbf85f6efd708b3907a33f8e9d6126e1103d"
            },
            "downloads": -1,
            "filename": "autogluon_assistant-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b0b357ba61d28a3fc2af2d12e142b466",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.8",
            "size": 1608352,
            "upload_time": "2024-11-19T23:27:29",
            "upload_time_iso_8601": "2024-11-19T23:27:29.326231Z",
            "url": "https://files.pythonhosted.org/packages/29/48/c1aab5f286f116ee218b7aeabbb32f98f22cf3b5cb2adaed01670d92e472/autogluon_assistant-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-19 23:27:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "autogluon",
    "github_project": "autogluon-assistant",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "autogluon.assistant"
}
        
Elapsed time: 0.42458s