Skip to main content

LLM-driven code evolution method library.

Project description

EvoToolkit

Ask DeepWiki

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

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.0rc4.tar.gz (160.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.0rc4-py3-none-any.whl (236.2 kB view details)

Uploaded Python 3

File details

Details for the file evotoolkit-1.0.0rc4.tar.gz.

File metadata

  • Download URL: evotoolkit-1.0.0rc4.tar.gz
  • Upload date:
  • Size: 160.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for evotoolkit-1.0.0rc4.tar.gz
Algorithm Hash digest
SHA256 1d218f091c500a87de3192f5886f6f2f5475311f1ee380a46650109f5014baa1
MD5 3441b5b8f95512b0fec53432b9ed323a
BLAKE2b-256 b10577d265002cce19bae90f054b0d3acba18b48ee0e34b502f1c85f5e9107ed

See more details on using hashes here.

File details

Details for the file evotoolkit-1.0.0rc4-py3-none-any.whl.

File metadata

  • Download URL: evotoolkit-1.0.0rc4-py3-none-any.whl
  • Upload date:
  • Size: 236.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for evotoolkit-1.0.0rc4-py3-none-any.whl
Algorithm Hash digest
SHA256 4868fb7adb06259fdd9bd112fa9eeab08ccdc30e65cc09e7a2ee274eabc35d98
MD5 1e0f16a76e3b6b62bf019e8ff6243ac1
BLAKE2b-256 c436aaa3864a02b7646011fd681b9c80226b78c1071abcf1e130c2da7ab8e87d

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