Maccarone:Python中的AI管理代码块 ⏪⏩
Maccarone让您可以将Python程序的部分内容委托给AI所有权。
以下是它在VS Code扩展中的样子:
示例
您可能会编写如下代码:
def main(path: str):
#<<filenames = path下的文件名列表>>
for fn in filenames:
#<<size = fn的字节大小>>
print(fn, size)
#<<使用argparse并调用main>>
然后Maccarone会填充您委托的部分:
def main(path: str):
#<<filenames = path下的文件名列表;不包括目录>>
import os
filenames = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))]
#<</>>
for fn in filenames:
#<<size = fn的字节大小>>
size = os.path.getsize(os.path.join(path, fn))
#<</>>
print(fn, size)
#<<使用argparse并调用main>>
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("path", type=str)
args = parser.parse_args()
main(args.path)
#<</>>
在您的代码中进行更改,比如向main
添加一个extension
参数,Maccarone会保持其部分更新:
def main(path: str, extension: str | None = None):
#<<filenames = path下的文件名列表;不包括目录>>
…
if extension:
filenames = [f for f in filenames if f.endswith(extension)]
#<</>>
…
#<<使用argparse并调用main>>
…
parser.add_argument("--extension", type=str, default=None)
args = parser.parse_args()
main(args.path, args.extension)
#<</>>
快速入门
先决条件
- Python 3.8+
- 具有GPT-4访问权限的OpenAI API密钥(
export OPENAI_API_KEY
)
简易模式 - VS Code扩展
简易模式是来自VS Code市场的免费扩展。
在VS Code中安装它,然后就完成了(如果您具备上述先决条件)。
其他选项 - 命令行
如果您不使用VS Code,您仍可以直接从PyPI安装Maccarone:
pip install maccarone
然后运行maccarone
以生成代码并更新您的源文件:
$ maccarone --rewrite examples/file_sizes.py
使用注意事项
在目录上运行maccarone
Maccarone可以重写目录中的所有文件:
$ maccarone --rewrite --suffix .py examples/
请小心!您可能应该只在版本控制下的文件上运行此命令。
相关工作
常见问题
它需要我的OpenAI API密钥吗?
Maccarone提示GPT-4编写代码。它将使用您的密钥进行OpenAI API调用,OpenAI将向您收费。
每次Maccarone预处理源文件的新版本时,都会进行API调用。
消耗的令牌数量与您完成的代码大小成正比。您无法提前准确预测该数量。预处理一个小型源模块可能会花费$0.01–0.10。
什么能防止我的程序在每次预处理运行后表现不同?
您对GPT-4的信心强度。
非英语语言怎么办?
它们可能会工作,但可能性比英语低。
"maccarone"是什么意思?
https://en.wikipedia.org/wiki/Macaronic_language
这个项目还在活跃开发吗?
是也不是。它是为了评估特定风格的LLM辅助编程而创建的。对于该目的而言,它感觉功能已经完备。
然而,欢迎提交PR和错误报告,未来可能会有维护版本发布。