# NanoAlphaEvolve **Repository Path**: Zen07/nano-alpha-evolve ## Basic Information - **Project Name**: NanoAlphaEvolve - **Description**: A simplified, open-source implementation of the AlphaEvolve concept using the DeepSeek API. (一个使用DeepSeek API实现的简化版、开源的AlphaEvolve.) NanoAlphaEvolve 是 AlphaEvolve 方法论的一个 Python 实现,该方法论在论文《AlphaEvolve: - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-11 - **Last Updated**: 2025-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: Agent, llm ## README # NanoAlphaEvolve NanoAlphaEvolve 是 AlphaEvolve 方法论的一个 Python 实现,该方法论在论文《AlphaEvolve: A coding agent for scientific and algorithmic discovery》中有所描述。它是一个进化编码智能体,使用大语言模型(LLMs)来迭代地改进给定的程序。 该项目旨在成为一个轻量级、易于理解和可扩展的框架,用于实验基于 LLM 的进化算法。它使用 DeepSeek API 进行代码生成。 ## 特性 - **进化循环**: 实现了 AlphaEvolve 的核心进化算法。 - **DeepSeek API 集成**: 使用 DeepSeek API 生成代码突变。 - **用户自定义问题**: 轻松定义您自己的优化问题。 - **异步**: 基于 `asyncio` 构建,用于并发处理 LLM 请求和评估。 - **模块化和可扩展**: 可自定义组件,如提示器、评估器和程序数据库。 ## 快速入门 ### 先决条件 - Python 3.8+ - 一个 DeepSeek API 密钥 ### 安装 1. **克隆仓库:** ```bash git clone <你的-gitee-仓库-url> cd NanoAlphaEvolve ``` 2. **安装依赖:** ```bash pip install -r requirements.txt ``` 3. **设置你的 DeepSeek API 密钥:** 在项目根目录创建一个名为 `.env` 的文件,并添加你的 API 密钥: ``` DEEPSEEK_API_KEY=your_api_key_here ``` ### 运行示例 项目附带一个简单的示例,该示例进化一个函数以最小化其输出。要运行它: python -m examples.simple_function.main 您将看到进化过程的实时输出,智能体正在生成新代码并评估其性能。 ## 工作原理 NanoAlphaEvolve 遵循 AlphaEvolve 的主要原则: 1. **初始化:** 过程始于用户提供的初始程序。该程序被添加到一个“程序数据库”中。 2. **进化循环:** 智能体进入一个包含以下步骤的循环: a. **选择:** 从程序数据库中选择一个程序作为“父代”。 b. **提示:** 使用父代程序和其他高性能程序作为上下文构建一个提示。 c. **生成:** 将提示发送到 DeepSeek API,后者生成一个代码修改(一个“diff”)。 d. **突变:** 将 diff 应用于父代程序以创建一个新的“子代”程序。 e. **评估:** 执行子代程序,并通过用户定义的 evaluate 函数对其性能进行评分。 f. **存活:** 如果子代程序有效且其分数有前景,则将其添加到程序数据库中。 3. **终止:** 循环持续指定的迭代次数。在此过程中找到的最佳程序是最终输出。 ## 定义你自己的问题 要定义自己的问题,您需要提供三样东西: 1. **初始程序:** 一个包含起始代码的 Python 文件。您需要使用 # EVOLVE-BLOCK-START 和 # EVOLVE-BLOCK-END 来标记您想要进化的代码部分。 2. **评估函数:** 一个包含 evaluate 函数的 Python 文件,该函数接收生成的代码作为输入,并返回一个分数字典。 3. **主入口点:** 一个用于配置和运行 AlphaEvolve 智能体的 Python 脚本。 请参阅 examples/simple_function 目录以获取完整示例。 ## 贡献 欢迎贡献!请随时提交 Pull Request 或开启一个 Issue。 ## 许可证 该项目根据 MIT 许可证授权。