已弃用:请改用 Mentat!https://github.com/AbanteAI/mentat
Wolverine
关于
为您的 Python 脚本赋予再生愈合能力!
使用 Wolverine 运行您的脚本,当它们崩溃时,GPT-4 会编辑它们并解释出错的原因。即使存在多个 bug,它也会反复重新运行直到修复为止。
如需快速演示,请查看我在 Twitter 上的演示视频。
设置
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.sample .env
将您的 OpenAI API 密钥添加到 .env
文件中
警告!默认情况下,Wolverine 使用 GPT-4 并可能多次重复调用 API。
使用示例
使用 GPT-4 运行(默认选项,经过测试):
python -m wolverine examples/buggy_script.py "subtract" 20 3
您也可以使用其他模型运行,但请注意它们可能不会严格遵循编辑格式:
python -m wolverine --model=gpt-3.5-turbo examples/buggy_script.py "subtract" 20 3
如果您想默认使用 GPT-3.5 而不是 GPT-4,请取消注释 .env
文件中的默认模型行:
DEFAULT_MODEL=gpt-3.5-turbo
您还可以使用 --confirm=True
标志,这将在对文件进行更改之前询问您"是否"。如果不使用该标志,则会直接应用更改到文件
python -m wolverine examples/buggy_script.py "subtract" 20 3 --confirm=True
环境变量
环境变量名 | 描述 | 默认值 |
---|---|---|
OPENAI_API_KEY | OpenAI API 密钥 | 无 |
DEFAULT_MODEL | 使用的 GPT 模型 | "gpt-4" |
VALIDATE_JSON_RETRY | 请求 OpenAI API 的重试次数(-1 表示无限重试) | -1 |
未来计划
这只是我花了几个小时快速制作的原型。有许多可能的扩展,欢迎贡献:
- 添加标志以自定义使用,例如在运行更改后的代码之前请求用户确认
- 进一步迭代 GPT 响应的编辑格式。目前它在缩进方面存在一些问题,但我相信可以改进
- 一套用于测试提示可靠性和衡量改进的示例错误文件
- 多个文件/代码库:向 GPT 发送堆栈跟踪中出现的所有内容
- 优雅处理大文件 - 我们是否应该只向 GPT 发送相关的类/函数?
- 扩展到 Python 以外的其他语言