Automated-Ml is a backend API for automated machine learning workflows. It allows you to:
- Train machine learning models on tabular data (CSV)
- Monitor the status of training jobs
- Make predictions using trained models
This project is backend-only (no frontend UI). You interact with the API using Python scripts, curl, or tools like Postman. The backend is accessible only on your local machine (no ngrok or public tunneling required).
- Model Training: Upload a CSV file to start a new training job. The backend will train a model and return a unique
task_id. - Status Monitoring: Check the status of your training job using the
task_id. - Prediction: Use a trained model to make predictions on new data by uploading a CSV and providing the
task_id.
app.py— Example Python client for interacting with the backend APIautoML_builder.ipynb— (Optional) Jupyter notebook for backend logicBenchmarking/Datasets/— Example datasets (e.g.,car_insurance.csv)
You need a backend server running at http://127.0.0.1:8000 (or change the URL in app.py).
Start the FastAPI backend with:
uvicorn app:app --reload --host 127.0.0.1 --port 8000Note: This repository only contains the client and example data. You must have a compatible backend server running. The backend is only accessible locally; ngrok or public tunneling is not required or supported.
Edit and run app.py to train a model using the provided dataset:
if __name__ == "__main__":
dataset_path = "Benchmarking/Datasets/car_insurance.csv"
train_result = train_model(dataset_path)
print("Train result:", train_result)
# ... polling and prediction code ...Or use curl:
curl -X POST -F "file=@Benchmarking/Datasets/car_insurance.csv" http://127.0.0.1:8000/traincurl http://127.0.0.1:8000/monitor/<task_id>curl -X POST -F "task_id=<task_id>" -F "file=@Benchmarking/Datasets/car_insurance.csv" http://127.0.0.1:8000/predict- Train: Upload your CSV to
/trainand get atask_id. - Monitor: Poll
/monitor/<task_id>until status isdone. - Predict: POST to
/predictwith yourtask_idand a CSV file.
- Python 3.8+
- requests
- pandas
Install dependencies:
pip install requests pandas- This project does not include a frontend. All interaction is via API calls.
- The backend server must be running and accessible at the specified URL.
- Example datasets are provided in
benchmark/Datasets/. - Ngrok or any tunneling service is not required; all usage is local-only.