Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evotoolkit-1.0.0rc1.tar.gz (77.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evotoolkit-1.0.0rc1-py3-none-any.whl (124.6 kB view details)

Uploaded Python 3

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

Hashes for evotoolkit-1.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 fb9cd34f6ab1ac03e2a53c920676e7b2452db81d5c01280f17d468f14327938b
MD5 a5804c12dd2438031917498bebb15778
BLAKE2b-256 5a529bc99cf45d32ee18d6b1e9e0cb7a119c61dae5e9ff1f6c924a6d8feb8176

See more details on using hashes here.

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

Hashes for evotoolkit-1.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 d7bc62777d9346c42aaa8a06f1b06fbcfdff19331ce249fb09596266cd8543d1
MD5 84ef47b87a7a8578d666c56dab634b71
BLAKE2b-256 62d8485f227d9e0c7363ea9e5928632e2531a6b10a8d93a1ea1021e1fd132e74

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page