Auto Code Improvement by Metrics Optimization.
Autocode selects the best values for optimized metrics. The variable value types could be bool, int, float, and choice (including but not limited to code). This project utilizes a Large Language Model and Mixed-Variable Many-Objective Optimization. Based on our research/literature review, this project hypothetically can contribute to the economic performance of companies.
- Many-software Value-level Mixed-variable Many-objective Optimization.
- Variable types are bool, int, float, and choice (including but not limited to code).
- Error (MAE/MAE_max) for MCDM (single solution suggestion) is up to 0.0000175.
- Code scoring using LLM.
- Software cross-language support.
- Easy software deployment using docker-compose.
- Scalable to infinite cores to speed up processing in parallel.
- Install the requirements
- pypi (old)
pip install -U autocode-py
- github (new)
pip install -U git+https://github.com/muazhari/autocode.git@main
- Prepare software to be processed as in the
./example/client
folder. - Prepare deployment as in the
./example/client/docker-compose.yml
file. - Prepare the controller as in the
./example/controller.ipynb
file. - Instantiate
optimization
then executeoptimization.deploy()
in the controller. - Open the dashboard in
http://localhost:{dashboard_port}/
to see the process in real time. - Wait until all clients are ready (need to wait a long time because the libraries need to be re-downloaded for each client).
- Execute
optimization.run()
in the controller. - Wait until the run is finished.
- Analyze and decide the best values.
- Execute
optimization.reset(keys=["clients"])
thenoptimization.deploy()
to apply different client states. - Try to execute
optimization.reset()
to totally reset the tool if needed (i.e. data inconsistency).
- Controller
- Client
- Dashboard
- Python 3.10, 3.11, 3.12
- Linux
- Docker
- autocode-go