gpt-engineer 介绍
了解项目的详细信息和使用方法
最初的代码生成实验平台!
如果你在寻找一个有明确主张、且提供托管服务的演进版本,请查看 gptengineer.app。
如果你想要一个维护良好、可供自定义的 CLI,请查看 aider。
gpt-engineer 能为你做什么:
- 通过自然语言来指定软件需求
- 观看 AI 编写并执行代码
- 要求 AI 实现进一步的改进
快速入门
安装 gpt-engineer
稳定版本:
python -m pip install gpt-engineer
开发版本:
git clone https://github.com/gpt-engineer-org/gpt-engineer.git
cd gpt-engineer
poetry install
poetry shell
以激活虚拟环境
目前我们正式支持 Python 3.10 - 3.12。最后支持 Python 3.8 - 3.9 的版本为 0.2.6。
设置 API Key
可从以下方式中选择 一种:
- 设置环境变量(也可在
.bashrc
中添加,避免每次打开终端都要手动输入):bash1export OPENAI_API_KEY=[你的 API Key]
- 使用
.env
文件:- 复制
.env.template
并重命名为.env
- 在
.env
中添加你的OPENAI_API_KEY
- 复制
- 自定义模型:
- 参考 相关文档,可支持本地模型、Azure 等
如需在 Windows 上使用,请查看 Windows 说明。
其他运行方式:
- 使用 Docker(说明)
- 直接在浏览器中进行:
创建新代码(默认用法)
- 在计算机任意位置创建一个空文件夹,用于存放新项目。
- 在该文件夹内创建一个名为
prompt
(没有后缀名)的文件,并在其中写下你的需求说明。 - 在 gpt-engineer 的根目录下运行
gpte <project_dir>
,其中<project_dir>
为你项目文件夹的相对路径。- 例如:如果新文件夹放在
projects/
中,可以使用:bash1gpte projects/my-new-project
- 例如:如果新文件夹放在
改进已有代码
- 找到一个包含现有代码的文件夹(它可以在计算机任意位置)。
- 在该文件夹中创建一个名为
prompt
(没有后缀名)的文件,写下你想如何改进该代码的说明。 - 在 gpt-engineer 的根目录下运行
gpte <project_dir> -i
,其中<project_dir>
为你项目文件夹的相对路径。- 例如:
bash
1gpte projects/my-old-project -i
- 例如:
自定义 Agent Benchmark
- gpt-engineer 会安装一个名为
bench
的可执行文件,它可以提供一个简洁的界面,用于在公共数据集上对自定义的 Agent 实现进行基准测试。 - 如果你想要开始基准测试,可以查看 模板仓库,其中包含了详细的说明及一个 Agent 模板。
- 目前已支持的基准测试数据集:
社区目前正针对不同的基准测试开展工作,具体可参考这段 Loom 视频。
研究 (Research)
一些社区成员已围绕特定方向撰写了研究概要,并可进一步深化。感兴趣的同学可以查看这份文档。
使用条款
运行 gpt-engineer 即表示你同意我们的使用条款。
与 gptengineer.app 的关系
gptengineer.app 是一个针对自动生成 Web 应用的商业项目,面向非技术用户提供前端界面,并且与 Git 管控的代码库相连。
gptengineer.app 团队也在积极支持开源社区。
功能特性
预设提示 (Pre Prompts)
你可以通过替换 preprompts
文件夹来覆盖默认的 preprompts
,并使用 --use-custom-preprompts
参数来指定。
通过编辑 preprompts
使得 Agent 能够在不同项目之间“记住”一些内容。
Vision(图像支持)
默认情况下,gpt-engineer 仅读取文本输入(通过 prompt
文件)。如果你使用支持图像输入的模型,你可以为 gpt-engineer 传入图像。
这对于在给 GPT Engineer 提供额外上下文时相当有用(比如 UX 或架构图)。
可使用 --image_directory
参数指定图片文件夹,再使用第二个 CLI 参数指定一个具备视觉能力的模型。
例如:
bash1gpte projects/example-vision gpt-4-vision-preview --prompt_file prompt/text --image_directory prompt/images -i
开源、本地及其他替代模型
gpt-engineer 默认使用 OpenAI 模型(通过 OpenAI API 或 Azure OpenAI API)以及 Anthropic 模型。
通过简单的额外设置,也可以配合类似 WizardCoder 等开源模型使用。具体示例请查看相关文档。