## OpenEvolve:基于LLM的算法发现
OpenEvolve是一个开源框架,它在进化过程中使用大型语言模型(LLM)来*自动发现算法*。与依赖手动设计或暴力搜索的传统方法不同,OpenEvolve利用LLM生成和优化代码,并由用户定义的指标进行指导。
该系统采用“质量-多样性”方法,使用MAP-Elites来维护跨多个并行进化的“岛屿”的候选程序多样化种群。LLM基于包含程序代码、性能数据甚至执行错误的提示生成代码编辑(或完全重写),并将这些信息反馈到后续迭代中。
OpenEvolve已在多个领域取得成功,包括系统优化、科学发现、GPU内核优化,甚至LLM提示工程。值得注意的是,它已自主发现诸如JAX JIT编译和高效GPU内核之类的优化,并实现了显著的性能提升。该框架的灵活架构支持级联评估以进行高效过滤,并可通过库和命令行界面访问。其开源性质鼓励社区贡献并进一步推动自动化算法设计的创新。
## Django 6.0 发布:主要亮点
Django 6.0 发布,标志着这个流行的 Python Web 框架走过了 20 年!此版本侧重于大型社区贡献的改进和新功能。主要更新包括:
* **模板片段:** 使用 `{% partialdef %}` 和 `{% endpartialdef %}` 定义的可重用模板片段简化了代码并避免了重复。它们可以在模板内使用或独立渲染,适用于 `htmx` 等库。
* **内置任务框架:** Django 现在包含一个用于运行后台任务(如发送电子邮件)而不阻塞 HTTP 请求的系统,为 Celery 或 Django Q2 提供替代方案。一个参考实现 `django-tasks` 可用于生产环境。
* **内容安全策略 (CSP) 支持:** 通过内置的 CSP 支持增强安全性,防止跨站脚本攻击等。包括用于安全脚本加载的 nonce 生成。
* **电子邮件 API 更新:** 使用 Python 较新的 `email.message.EmailMessage` API 改进了电子邮件处理,提高了可靠性和便利性。
* **ORM 改进:** `BigAutoField` 现在是新项目的默认主键类型,防止潜在的耗尽问题。新的 `forloop.length` 变量已添加到模板中,并且 `querystring` 模板标签得到了增强。
这些更改以及大量的错误修复和优化旨在改善开发人员体验并保持 Django 作为领先 Web 框架的地位。像 `django-upgrade` 这样的升级工具可以协助过渡。