本页面介绍了如何使用 gpt-engineer 配置和使用不同的语言模型。它涵盖了支持的模型提供商,包括 OpenAI、Azure OpenAI、Anthropic 和开源模型,以及配置选项和最佳实践。有关文件选择和项目结构的信息,请参阅 文件选择和项目结构。
gpt-engineer 通过一个灵活的架构支持多种 LLM 提供商,该架构抽象了底层的 API 交互。
来源:gpt_engineer/core/ai.py330-379
下表显示了 gpt-engineer 中提供的关键模型配置选项
| 参数 | 默认值 | 描述 |
|---|---|---|
model_name | gpt-4-turbo | 要使用的 LLM 的名称 |
temperature | 0.1 | 控制随机性(0-1) |
azure_endpoint | 无 | Azure OpenAI 端点 URL |
streaming | True | 启用流式响应 |
vision | 自动检测 | 支持图像输入 |
这些选项可以在运行 gpt-engineer 时通过环境变量或 CLI 参数进行设置。
来源:gpt_engineer/core/ai.py88-116
gpt-engineer 使用系统化的方法根据配置参数确定使用哪个模型实现
来源:gpt_engineer/core/ai.py330-379
默认情况下,gpt-engineer 使用 OpenAI 模型,并将 gpt-4-turbo 设置为默认模型。要使用 OpenAI 模型,您需要
将您的 OpenAI API 密钥设置为环境变量
export OPENAI_API_KEY=your_api_key
可选地指定不同的模型
gpte your_project --model gpt-3.5-turbo
支持的 OpenAI 模型包括
gpt-4-turbo (默认)gpt-4-vision-preview (用于视觉能力)gpt-4gpt-3.5-turbo模型名称会传递给 AI 类初始化中的 model_name 参数。
来源:gpt_engineer/core/ai.py88-96 gpt_engineer/core/ai.py374-378
要使用 Azure OpenAI,您需要
设置您的 Azure OpenAI API 密钥
export OPENAI_API_KEY=your_azure_api_key
运行 gpt-engineer 时使用 --azure 标志,后跟您的端点 URL
gpte --azure https://your-resource-name.openai.azure.com your_project your_deployment_name
请注意,对于 Azure,model_name 参数将成为您的部署名称。
来源:gpt_engineer/core/ai.py346-356 docs/open_models.md139-148
gpt-engineer 支持 Anthropic 的 Claude 模型
安装所需的依赖项
pip install gpt-engineer[anthropic]
或
pip install langchain-anthropic
设置您的 Anthropic API 密钥
export ANTHROPIC_API_KEY=your_anthropic_api_key
使用 Claude 模型运行 gpt-engineer
gpte your_project --model claude-3-opus-20240229
AI 类通过检查模型名称中是否包含“claude”字符串来自动检测 Claude 模型。
来源:gpt_engineer/core/ai.py357-364 pyproject.toml35
gpt-engineer 可以通过兼容 OpenAI 的 API 与开源模型协同工作
设置一个具有兼容 OpenAI API 的推理服务器(例如,llama.cpp 服务器)
python -m llama_cpp.server --model path_to_model.gguf --n_batch 256 --n_gpu_layers 30
配置环境变量
export OPENAI_API_BASE="http://:8000/v1"
export OPENAI_API_KEY="sk-xxx" # Any value will work
export MODEL_NAME="YourModelName"
export LOCAL_MODEL=true
以精简模式运行 gpt-engineer
gpte your_project $MODEL_NAME --lite --temperature 0.1
推荐的开源模型包括
对于没有直接硬件访问权限的模型,您可以使用 Open Router 等服务
export OPENAI_API_BASE="https://openrouter.ai/api/v1"
export OPENAI_API_KEY="your-open-router-key"
export MODEL_NAME="meta-llama/llama-3-8b-instruct:extended"
export LOCAL_MODEL=true
gpt-engineer 会自动检测支持视觉功能的模型并进行相应配置。对于以下模型,视觉支持会自动启用:
gpt-4-turbo 模型(当名称中不包含“preview”时)在使用视觉模型时,gpt-engineer 会包含特殊的图像 token 计数逻辑,因为图像输入的 token 数量比文本多得多。
来源:gpt_engineer/core/ai.py110-114 gpt_engineer/core/token_usage.py96-140
gpt-engineer 包含一个复杂的 token 使用跟踪系统,该系统会监控不同模型提供商的 token 消耗情况
token 使用系统
token 使用日志会被存储,并且可以通过编程方式访问,或在控制台输出中查看。
来源:gpt_engineer/core/token_usage.py31-297 gpt_engineer/core/ai.py116
在选择要与 gpt-engineer 结合使用的模型时,请考虑以下因素:
| 模型类型 | 优势 | 注意事项 |
|---|---|---|
| GPT-4 模型 | 最佳代码质量,强大的推理能力 | 成本较高,可能速度较慢 |
| Claude 模型 | 强大的推理能力,高上下文窗口 | 在代码补全基准测试中表现有限 |
| GPT-3.5 模型 | 速度快,成本效益高 | 质量可能不适用于复杂项目 |
| 开源模型 | 无成本,隐私控制 | 需要本地计算资源,质量参差不齐 |
对于大多数生产用例,GPT-4 模型可提供最佳的可靠性和质量。对于测试或较简单的项目,GPT-3.5 或开源模型可能已足够。
使用不同模型时的常见问题
API 密钥问题:确保为所选提供商设置了正确的环境变量
OPENAI_API_KEYANTHROPIC_API_KEY模型可用性:并非所有模型都适用于所有区域或部署。请查看您的提供商文档。
Token 限制:不同模型的上下文长度限制不同。如果您的项目很复杂,请考虑使用具有更大上下文窗口的模型。
本地模型性能:在使用开源模型时,请确保您的硬件满足模型的性能要求。量化模型(例如 Q6_K)在质量和性能之间提供了良好的平衡。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(a90fcd)