Skip to content

模型提供商概览

ByteBuddy 支持多种主流的 AI 模型提供商,让您可以通过配置文件选择最适合的模型。

配置文件位置

ByteBuddy 的配置文件位于:

  • ~/.bytebuddy/config.yaml
  • 项目根目录的 config.yaml

支持的提供商类型

🚀 热门提供商

这些提供商拥有广泛的用户基础和成熟的生态系统:

🔧 自托管解决方案

在本地或私有环境中运行模型:

🌐 API 聚合服务

通过单一接口访问多个模型:

🏢 企业级服务

适合企业场景的专业服务:

🧪 实验性和新兴提供商

最新的模型和服务:

基础配置结构

ByteBuddy 使用 YAML 配置格式。以下是模型配置的基本结构:

单个模型配置

yaml
models:
  - name: "gpt-4o" # 模型名称
    provider: "openai" # 提供商
    model: "gpt-4o" # 具体模型
    apiKey: "${OPENAI_API_KEY}" # API 密钥(环境变量)
    roles: ["chat"] # 角色类型:chat、edit、apply、autocomplete、embed、rerank
    capabilities: ["tool_use"] # 能力:tool_use、image_input、next_edit
    defaultCompletionOptions: # 默认完成选项
      temperature: 0.7
      maxTokens: 4000
    requestOptions: # 请求选项
      timeout: 30000
      verifySsl: true

多模型配置

yaml
models:
  - name: "chat-model"
    provider: "openai"
    model: "gpt-4o"
    apiKey: "${OPENAI_API_KEY}"
    roles: ["chat", "edit"]

  - name: "local-model"
    provider: "ollama"
    model: "llama3"
    apiBase: "http://localhost:11434"
    roles: ["chat"]

  - name: "embedding-model"
    provider: "openai"
    model: "text-embedding-3-small"
    apiKey: "${OPENAI_API_KEY}"
    roles: ["embed"]

配置字段说明

必需字段

  • name: 模型配置的唯一标识符
  • provider: 模型提供商(如 openai、anthropic、ollama 等)
  • model: 具体的模型名称

可选字段

  • apiKey: API 密钥,支持环境变量格式 ${VARIABLE_NAME}
  • apiBase: 自定义 API 端点 URL
  • roles: 模型角色的数组,可选值包括:
    • chat: 聊天对话
    • edit: 代码编辑
    • apply: 应用更改
    • autocomplete: 代码自动补全
    • embed: 嵌入向量生成
    • rerank: 重排序
  • capabilities: 模型能力数组,可选值包括:
    • tool_use: 工具使用能力
    • image_input: 图像输入支持
    • next_edit: 下一编辑模式
  • defaultCompletionOptions: 默认完成选项
    • temperature: 生成随机性(0-2)
    • maxTokens: 最大生成 token 数
    • topP: 核采样参数
    • stream: 是否流式输出
  • autocompleteOptions: 自动补全选项
    • maxPromptTokens: 最大提示 token 数
    • useCache: 是否使用缓存
  • requestOptions: 请求选项
    • timeout: 请求超时时间(毫秒)
    • verifySsl: 是否验证 SSL 证书
    • headers: 自定义请求头
    • proxy: 代理设置

环境变量配置

为了安全起见,建议使用环境变量存储 API 密钥:

bash
# ~/.bashrc 或 ~/.zshrc
export OPENAI_API_KEY="your-openai-api-key"
export ANTHROPIC_API_KEY="your-anthropic-api-key"

常见环境变量:

  • ${OPENAI_API_KEY} - OpenAI API 密钥
  • ${ANTHROPIC_API_KEY} - Anthropic API 密钥
  • ${GOOGLE_API_KEY} - Google AI API 密钥
  • ${AZURE_OPENAI_API_KEY} - Azure OpenAI API 密钥

常见提供商配置示例

OpenAI 配置

yaml
models:
  - name: "gpt-4o"
    provider: "openai"
    model: "gpt-4o"
    apiKey: "${OPENAI_API_KEY}"
    roles: ["chat", "edit"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 4000

Anthropic 配置

yaml
models:
  - name: "claude-3-5-sonnet"
    provider: "anthropic"
    model: "claude-3-5-sonnet-20241022"
    apiKey: "${ANTHROPIC_API_KEY}"
    roles: ["chat"]
    capabilities: ["tool_use"]
    defaultCompletionOptions:
      temperature: 0.7
      maxTokens: 8000

Google Gemini 配置

yaml
models:
  - name: "gemini-2.0-flash"
    provider: "google"
    model: "gemini-2.0-flash"
    apiKey: "${GOOGLE_API_KEY}"
    roles: ["chat"]
    capabilities: ["image_input"]

Ollama 本地模型配置

yaml
models:
  - name: "local-llama"
    provider: "ollama"
    model: "llama3"
    apiBase: "http://localhost:11434"
    roles: ["chat"]
    requestOptions:
      timeout: 60000

Azure OpenAI 配置

yaml
models:
  - name: "azure-gpt-4"
    provider: "azure"
    model: "gpt-4"
    apiKey: "${AZURE_OPENAI_API_KEY}"
    apiBase: "https://your-resource.openai.azure.com/"
    env:
      resourceName: "your-resource-name"
      deploymentName: "gpt-4-deployment"
      apiVersion: "2024-02-15-preview"

使用方式

配置完成后,模型会自动在相应的聊天会话中生效:

  1. 配置模型:在 config.yaml 中添加模型配置
  2. 设置环境变量:配置 API 密钥等敏感信息
  3. 重启应用:让配置生效
  4. 开始使用:在聊天界面中模型将自动可用

故障排除

常见问题

Q: 模型无法加载?

  • 检查配置文件语法是否正确
  • 验证环境变量是否设置正确
  • 确认 API 密钥有效且有足够配额

Q: 本地模型连接失败?

  • 确认 Ollama 服务正在运行
  • 检查 apiBase URL 是否正确
  • 验证本地模型是否已下载

Q: 响应时间过长?

  • 调整 timeout 参数
  • 选择更快的模型或提供商
  • 考虑使用流式输出

Q: 配置不生效?

  • 检查配置文件位置是否正确
  • 验证 YAML 语法
  • 重启 ByteBuddy 应用

验证配置

创建测试配置文件来验证设置:

bash
# 验证配置文件语法
bytebuddy config validate

# 测试模型连接
bytebuddy models test --name your-model-name

最佳实践

安全性

  1. 环境变量:始终使用环境变量存储 API 密钥
  2. 权限控制:为 API 密钥设置最小必要权限
  3. 定期轮换:定期更新 API 密钥

性能优化

  1. 选择合适模型:根据任务复杂度选择模型
  2. 调整参数:优化 temperaturemaxTokens 等参数
  3. 缓存设置:启用适当的缓存策略

成本控制

  1. 模型选择:使用更经济的模型处理简单任务
  2. Token 限制:设置合理的 maxTokens 限制
  3. 本地部署:对敏感数据使用本地模型

后续步骤

  1. 选择提供商:根据需求选择合适的模型提供商
  2. 创建配置:在 ~/.bytebuddy/config.yaml 中添加模型配置
  3. 设置密钥:配置相应的环境变量
  4. 测试验证:验证配置是否正确工作
  5. 开始使用:在聊天会话中使用配置的模型