Repolode
Mattie

Mattie/cataclysm

一个 Python 库,根据函数名、参数和上下文,在运行时借助 OpenAI 模型自动生成函数实现。

Star
409
Fork
43
未关闭 Issue
11
最近提交
14天前

这是什么?

Cataclysm 让 Python 代码可以调用尚未实现的函数。调用未知函数时,它会把函数名、参数、关键字名称、文档字符串、注释以及调用栈等上下文发送给 OpenAI 模型,执行生成的代码并返回结果。生成的代码会按函数签名缓存在本地文件中,之后的调用直接复用。

库提供多种模式。`consume(globals())` 会为当前命名空间中所有未知函数启用生成,适合笔记本和实验场景。`doom` 模块是库和应用中推荐的用法。`doom.impending` 可以只预览生成的代码而不执行;`doom.chosen` 只运行已缓存的代码,缓存不存在时抛出 NameError,因此发布的代码不会再调用模型。

使用前需要 Python 3.11 或更高版本、放在 `.env` 文件中的 OpenAI API Key,并运行 `cataclysm init` 复制默认的提示词和数据文件。生成能力通过 chatsnack 库调用模型,修改提示词文件可以调整行为,也可以换成更便宜的模型。

核心功能

  • 01根据函数名、参数和上下文自动生成缺失的函数实现。
  • 02按函数签名在本地缓存生成的代码,供后续复用。
  • 03提供推荐用于库和应用的 `doom` 模块。
  • 04提供预览模式(`doom.impending`),可在执行前查看代码。
  • 05提供冻结模式(`doom.chosen`),只运行已缓存的代码。

适用场景

  • 在 Jupyter 笔记本或交互式会话中快速原型化函数。
  • 通过函数签名观察大模型会如何实现某个工具函数。
  • 发布已预生成代码的应用,运行时不再调用模型。

快速上手

  1. 1

    从 PyPI 安装该包

    pip install cataclysm
  2. 2

    在项目目录中复制默认数据文件

    cataclysm init
  3. 3

    在 .env 文件中添加你的 OpenAI API 密钥

使用前须知

  • 需要 OpenAI API 密钥,并调用 OpenAI 的付费 API。
  • 需要 Python 3.11 或更高版本。
  • 生成的代码未经验证,README 警告其可能不安全,项目处于实验阶段。

标签

常见问题

cataclysm 是什么?
一个 Python 库,根据函数名、参数和上下文,在运行时借助 OpenAI 模型自动生成函数实现。 Cataclysm 让 Python 代码可以调用尚未实现的函数。调用未知函数时,它会把函数名、参数、关键字名称、文档字符串、注释以及调用栈等上下文发送给 OpenAI 模型,执行生成的代码并返回结果。生成的代码会按函数签名缓存在本地文件中,之后的调用直接复用。
cataclysm 可以免费使用吗?用的什么许可证?
cataclysm 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
cataclysm 还在维护吗?
活跃维护中。cataclysm 最近一次提交是在 2026年10月24日。
cataclysm 适合用来做什么?
在 Jupyter 笔记本或交互式会话中快速原型化函数。 通过函数签名观察大模型会如何实现某个工具函数。 发布已预生成代码的应用,运行时不再调用模型。
cataclysm 怎么安装和运行?
从 PyPI 安装该包: pip install cataclysm 在项目目录中复制默认数据文件: cataclysm init 在 .env 文件中添加你的 OpenAI API 密钥
在哪里获取 cataclysm?
源代码和安装说明在 GitHub 上:https://github.com/Mattie/cataclysm

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目