Skip to content

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 密钥

  1. 访问 platform.openai.com
  2. 注册账户并完成验证
  3. 在 API Keys 页面创建新密钥
  4. 设置使用限额和支付方式

常见问题

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