模型提供商概览
ByteBuddy 支持多种主流的 AI 模型提供商,让您可以通过配置文件选择最适合的模型。
配置文件位置
ByteBuddy 的配置文件位于:
~/.bytebuddy/config.yaml- 项目根目录的
config.yaml
支持的提供商类型
🚀 热门提供商
这些提供商拥有广泛的用户基础和成熟的生态系统:
- OpenAI - GPT 系列模型
- Anthropic - Claude 系列模型
- Google - Gemini 模型
- Azure - Azure OpenAI 服务
- Amazon Bedrock - AWS 托管模型
🔧 自托管解决方案
在本地或私有环境中运行模型:
- Ollama - 本地模型运行器
- LM Studio - 桌面模型应用
- LLaMA.cpp - C++ 推理引擎
- LLaMA Stack - 分布式推理
🌐 API 聚合服务
通过单一接口访问多个模型:
- OpenRouter - 多模型路由
- Together - 开源模型平台
- HuggingFace - 推理 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: 4000Anthropic 配置
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: 8000Google 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: 60000Azure 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"使用方式
配置完成后,模型会自动在相应的聊天会话中生效:
- 配置模型:在
config.yaml中添加模型配置 - 设置环境变量:配置 API 密钥等敏感信息
- 重启应用:让配置生效
- 开始使用:在聊天界面中模型将自动可用
故障排除
常见问题
Q: 模型无法加载?
- 检查配置文件语法是否正确
- 验证环境变量是否设置正确
- 确认 API 密钥有效且有足够配额
Q: 本地模型连接失败?
- 确认 Ollama 服务正在运行
- 检查
apiBaseURL 是否正确 - 验证本地模型是否已下载
Q: 响应时间过长?
- 调整
timeout参数 - 选择更快的模型或提供商
- 考虑使用流式输出
Q: 配置不生效?
- 检查配置文件位置是否正确
- 验证 YAML 语法
- 重启 ByteBuddy 应用
验证配置
创建测试配置文件来验证设置:
bash
# 验证配置文件语法
bytebuddy config validate
# 测试模型连接
bytebuddy models test --name your-model-name最佳实践
安全性
- 环境变量:始终使用环境变量存储 API 密钥
- 权限控制:为 API 密钥设置最小必要权限
- 定期轮换:定期更新 API 密钥
性能优化
- 选择合适模型:根据任务复杂度选择模型
- 调整参数:优化
temperature、maxTokens等参数 - 缓存设置:启用适当的缓存策略
成本控制
- 模型选择:使用更经济的模型处理简单任务
- Token 限制:设置合理的
maxTokens限制 - 本地部署:对敏感数据使用本地模型
后续步骤
- 选择提供商:根据需求选择合适的模型提供商
- 创建配置:在
~/.bytebuddy/config.yaml中添加模型配置 - 设置密钥:配置相应的环境变量
- 测试验证:验证配置是否正确工作
- 开始使用:在聊天会话中使用配置的模型