跳转至

EvoToolkit

LLM驱动的解进化优化工具包

EvoToolkit 是一个 Python 库,利用大语言模型(LLM)来进化优化问题的解决方案。它结合了进化算法的强大能力与基于 LLM 的解生成和改进,支持代码、文本及其他可评估的表示形式。


✨ 主要特性

  • 🤖 LLM 驱动进化: 使用最先进的语言模型生成和进化解决方案
  • 🔬 多种算法: 支持 EoH、EvoEngineer 和 FunSearch 进化方法
  • 🌍 任务无关: 支持任何可评估的优化任务(代码、文本、数学表达式等)
  • 🎯 可扩展框架: 易于扩展的任务系统,支持自定义优化问题
  • 🔌 简单 API: 高级 evotoolkit.solve() 函数,快速原型开发
  • 🛠️ 高级定制: 低级 API,提供精细化控制

内置任务类型

任务类型 描述 详情
🔬 科学符号回归 在真实科学数据集上进行符号回归 科学回归教程
💬 提示词工程 优化 LLM prompts 以提升下游任务性能 提示词工程教程
🛡️ 对抗攻击 进化对抗攻击算法 对抗攻击教程
⚡ CUDA 代码进化 进化和优化 CUDA kernels CUDA 任务教程

🚀 快速开始

安装

pip install evotoolkit

# 或安装全部依赖
pip install evotoolkit[all]

详细安装说明请参阅安装指南

第一个优化任务

import evotoolkit
from evotoolkit.task.python_task.scientific_regression import ScientificRegressionTask
from evotoolkit.task.python_task import EvoEngineerPythonInterface
from evotoolkit.tools import HttpsApi

# 1. 创建任务
task = ScientificRegressionTask(dataset_name="bactgrow")

# 2. 创建接口
interface = EvoEngineerPythonInterface(task)

# 3. 使用 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
)

就是这么简单!EvoToolkit 将使用 LLM 进化数学方程来拟合您的科学数据。

完整的演示请查看快速开始指南


📚 可用算法

算法 描述
EvoEngineer 主要的 LLM 驱动进化算法
FunSearch 函数搜索优化方法
EoH 启发式进化

查看教程了解更多使用示例。


📖 文档


🔗 链接


📄 许可证

EvoToolkit 采用双重许可:

  • 学术与开源使用: 免费用于学术研究、教育和开源项目。学术出版物中 需要引用
  • 商业使用: 需要单独的商业许可证。请联系 pguo6680@gmail.com 获取许可。

详细条款请参阅 LICENSE


🙏 引用

如果您在研究中使用 EvoToolkit,请引用:

@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}
}

💬 获取帮助