OpenAI
OpenAI 是 ByteBuddy 支持的主要模型提供商之一,提供强大的 GPT 系列模型。
支持的模型
GPT-4 系列
- gpt-4o - 最新的 GPT-4 模型,多模态支持
- gpt-4o-mini - 轻量版本,成本更低
- gpt-4-turbo - 更快的 GPT-4 版本,128K 上下文
- gpt-4-turbo-preview - GPT-4 Turbo 预览版
GPT-3.5 系列
- gpt-3.5-turbo - 高性能的对话模型
- gpt-3.5-turbo-16k - 16K 上下文版本
嵌入模型
- text-embedding-ada-002 - 文本嵌入模型
- text-embedding-3-small - 小型嵌入模型
- text-embedding-3-large - 大型嵌入模型
配置方法
基础配置
yaml
models:
- name: "gpt-4o"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat", "edit"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000多角色配置
yaml
models:
- name: "chat-model"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000
- name: "edit-model"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["edit"]
defaultCompletionOptions:
temperature: 0.3
maxTokens: 2000
- name: "autocomplete-model"
provider: "openai"
model: "gpt-3.5-turbo"
apiKey: "${OPENAI_API_KEY}"
roles: ["autocomplete"]
defaultCompletionOptions:
temperature: 0.1
maxTokens: 500嵌入模型配置
yaml
models:
- name: "embedding-model"
provider: "openai"
model: "text-embedding-3-small"
apiKey: "${OPENAI_API_KEY}"
roles: ["embed"]工具使用模型配置
yaml
models:
- name: "tool-model"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat", "edit"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000环境变量
bash
# 必需:API 密钥
export OPENAI_API_KEY="sk-..."
# 可选:组织 ID
export OPENAI_ORG_ID="org-..."
# 可选:自定义 API 端点
export OPENAI_API_BASE="https://api.openai.com/v1"请求选项
yaml
models:
- name: "gpt-4o"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
requestOptions:
timeout: 60000
verifySsl: true
headers:
"User-Agent": "ByteBuddy/1.0"高级配置选项
完整配置示例
yaml
models:
- name: "gpt-4o-advanced"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat", "edit", "apply"]
capabilities: ["tool_use", "image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000
topP: 0.9
frequencyPenalty: 0.1
presencePenalty: 0.1
stream: true
requestOptions:
timeout: 60000
verifySsl: true
headers:
"User-Agent": "ByteBuddy/1.0"使用场景配置
代码开发
yaml
models:
- name: "code-assistant"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat", "edit"]
defaultCompletionOptions:
temperature: 0.1
maxTokens: 2000
topP: 0.8对话交互
yaml
models:
- name: "conversation"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 1000
stream: true快速自动补全
yaml
models:
- name: "fast-autocomplete"
provider: "openai"
model: "gpt-3.5-turbo"
apiKey: "${OPENAI_API_KEY}"
roles: ["autocomplete"]
defaultCompletionOptions:
temperature: 0.1
maxTokens: 200
topP: 0.9
requestOptions:
timeout: 10000获取 API 密钥
- 访问 platform.openai.com
- 注册账户并完成验证
- 在 API Keys 页面创建新密钥
- 设置使用限额和支付方式
常见问题
Q: 为什么出现速率限制错误?
A: OpenAI 对 API 调用有限制,可以:
- 等待重置(通常每分钟)
- 升级到付费计划
- 调整请求间隔
Q: 如何处理长文本?
A:
- 使用支持长上下文的模型(如 gpt-4-turbo)
- 减少 maxTokens 设置
- 分段处理长文本
Q: 响应时间太长怎么办?
A:
- 使用更快的模型(如 gpt-3.5-turbo)
- 启用流式响应(stream: true)
- 减少 maxTokens
- 优化提示词长度
Q: 如何使用图像输入?
A: 使用支持图像输入的模型:
yaml
models:
- name: "vision-model"
provider: "openai"
model: "gpt-4o"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["image_input"]最佳实践
1. 密钥安全
- 使用环境变量存储 API 密钥
- 定期轮换密钥
- 监控异常使用
2. 成本控制
- 根据任务复杂度选择合适模型
- 设置合理的 maxTokens 限制
- 使用 gpt-3.5-turbo 处理简单任务
3. 性能优化
- 启用流式响应提高用户体验
- 根据使用场景调整温度参数
- 合理设置请求超时时间
4. 模型选择指南
- 复杂任务: 使用 gpt-4o
- 代码相关: 使用 gpt-4o 或 gpt-4-turbo
- 简单对话: 使用 gpt-3.5-turbo
- 自动补全: 使用 gpt-3.5-turbo
- 图像处理: 使用 gpt-4o