LLM-driven code evolution method library.
Project description
EvoToolkit
LLM-driven solution evolutionary optimization toolkit
EvoToolkit is a Python library that leverages Large Language Models (LLMs) to evolve solutions for optimization problems. It combines the power of evolutionary algorithms with LLM-based solution generation and refinement.
Installation
pip install evotoolkit
import evotoolkit # Note: import name is different from package name
Quick Start
import evotoolkit
from evotoolkit.task.python_task.scientific_regression import ScientificRegressionTask
from evotoolkit.task.python_task import EvoEngineerPythonInterface
from evotoolkit.tools import HttpsApi
# 1. Create a task
task = ScientificRegressionTask(dataset_name="bactgrow")
# 2. Create an interface
interface = EvoEngineerPythonInterface(task)
# 3. Solve with LLM
llm_api = HttpsApi(
api_url="https://api.openai.com/v1/chat/completions",
key="your-api-key-here",
model="gpt-4o"
)
result = evotoolkit.solve(
interface=interface,
output_path='./results',
running_llm=llm_api,
max_generations=5
)
Features
- 🤖 LLM-Driven Evolution: Use language models to generate and evolve solutions
- 🔬 Multiple Algorithms: EoH, EvoEngineer, and FunSearch
- 🌍 Task-Agnostic: Supports code, text, math expressions, etc.
- 🎯 Extensible: Easy-to-extend task system
- 🔌 Simple API: High-level
evotoolkit.solve()function
Documentation
Full documentation: https://evotoolkit.readthedocs.io/
Citation
If you use EvoToolkit in your research, please cite:
@article{guo2025evotoolkit,
title={evotoolkit: A Unified LLM-Driven Evolutionary Framework for Generalized Solution Search},
author={Guo, Ping and Zhang, Qingfu},
journal={arXiv preprint arXiv:XXXX.XXXXX},
year={2025},
note={Submitted to arXiv}
}
License
MIT License. For academic use, please cite our paper above.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evotoolkit-1.0.0rc1.tar.gz.
File metadata
- Download URL: evotoolkit-1.0.0rc1.tar.gz
- Upload date:
- Size: 77.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb9cd34f6ab1ac03e2a53c920676e7b2452db81d5c01280f17d468f14327938b
|
|
| MD5 |
a5804c12dd2438031917498bebb15778
|
|
| BLAKE2b-256 |
5a529bc99cf45d32ee18d6b1e9e0cb7a119c61dae5e9ff1f6c924a6d8feb8176
|
File details
Details for the file evotoolkit-1.0.0rc1-py3-none-any.whl.
File metadata
- Download URL: evotoolkit-1.0.0rc1-py3-none-any.whl
- Upload date:
- Size: 124.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7bc62777d9346c42aaa8a06f1b06fbcfdff19331ce249fb09596266cd8543d1
|
|
| MD5 |
84ef47b87a7a8578d666c56dab634b71
|
|
| BLAKE2b-256 |
62d8485f227d9e0c7363ea9e5928632e2531a6b10a8d93a1ea1021e1fd132e74
|