模型能力深度解析
ByteBuddy 的模型能力系统定义了 AI 模型可以执行的特定功能和操作,帮助您更好地利用不同模型的独特优势。
能力类型
工具使用 (tool_use)
允许模型调用外部工具和函数。
配置示例
yaml
models:
- name: "tool-using-model"
provider: "openai"
model: "gpt-4"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000支持的工具
- 文件系统: 读写文件
- 网络请求: HTTP/API 调用
- 数据库: 查询数据库
- 命令执行: 运行系统命令
- 自定义工具: 用户定义的工具
使用场景
- 代码执行和测试
- 数据检索和分析
- 文件操作和管理
- 外部 API 集成
图像输入 (image_input)
允许模型处理图像输入。
配置示例
yaml
models:
- name: "vision-model"
provider: "openai"
model: "gpt-4-vision-preview"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096支持的图像类型
- PNG: 无损压缩格式
- JPEG: 有损压缩格式
- WebP: 现代图像格式
- GIF: 动画和静态图像
使用场景
- UI/UX 设计分析
- 截图理解
- 图表和图形解析
- 文档图像处理
下一步编辑 (next_edit)
预测和建议下一步的代码编辑。
配置示例
yaml
models:
- name: "next-edit-model"
provider: "anthropic"
model: "claude-3-sonnet"
apiKey: "${ANTHROPIC_API_KEY}"
roles: ["edit"]
capabilities: ["next_edit"]
defaultCompletionOptions:
temperature: 0.3
maxTokens: 4000功能特性
- 智能预测: 预测下一步编辑操作
- 上下文感知: 基于当前代码状态
- 多步骤规划: 规划一系列编辑
- 重构建议: 提供重构方案
使用场景
- 连续代码编辑
- 重构优化
- 模式识别和应用
- 代码改进建议
多能力配置
组合能力
单个模型可以具备多个能力:
yaml
models:
- name: "multi-capable-model"
provider: "openai"
model: "gpt-4-vision-preview"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat", "edit"]
capabilities: ["tool_use", "image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096按角色分配能力
不同角色可能需要不同的能力:
yaml
models:
# 聊天角色 - 需要工具使用和图像输入
- name: "chat-assistant"
provider: "openai"
model: "gpt-4-vision-preview"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use", "image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000
# 编辑角色 - 需要下一步编辑
- name: "edit-assistant"
provider: "anthropic"
model: "claude-3-sonnet"
apiKey: "${ANTHROPIC_API_KEY}"
roles: ["edit"]
capabilities: ["next_edit"]
defaultCompletionOptions:
temperature: 0.3
maxTokens: 4000
# 应用角色 - 需要工具使用
- name: "apply-assistant"
provider: "openai"
model: "gpt-4"
apiKey: "${OPENAI_API_KEY}"
roles: ["apply"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.5
maxTokens: 4096提供商能力支持
OpenAI
yaml
models:
# GPT-4 - 支持工具使用
- name: "openai-gpt4"
provider: "openai"
model: "gpt-4"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000
# GPT-4 Vision - 支持图像输入和工具使用
- name: "openai-gpt4-vision"
provider: "openai"
model: "gpt-4-vision-preview"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use", "image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096Anthropic
yaml
models:
# Claude 3 Opus - 支持工具使用
- name: "claude-opus"
provider: "anthropic"
model: "claude-3-opus"
apiKey: "${ANTHROPIC_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096
# Claude 3 Sonnet - 支持下一步编辑
- name: "claude-sonnet"
provider: "anthropic"
model: "claude-3-sonnet"
apiKey: "${ANTHROPIC_API_KEY}"
roles: ["edit"]
capabilities: ["next_edit"]
defaultCompletionOptions:
temperature: 0.3
maxTokens: 4000Google
yaml
models:
# Gemini Pro - 支持工具使用
- name: "gemini-pro"
provider: "google"
model: "gemini-pro"
apiKey: "${GOOGLE_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 2048
# Gemini Pro Vision - 支持图像输入
- name: "gemini-pro-vision"
provider: "google"
model: "gemini-pro-vision"
apiKey: "${GOOGLE_API_KEY}"
roles: ["chat"]
capabilities: ["image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 2048能力验证
自动检测
ByteBuddy 会自动检测模型支持的能力:
- 基于提供商和模型名称
- 通过 API 响应验证
- 运行时能力测试
手动配置
明确指定模型能力可以:
- 覆盖自动检测结果
- 启用实验性功能
- 禁用某些能力
使用建议
工具使用最佳实践
yaml
models:
- name: "tool-expert"
provider: "openai"
model: "gpt-4"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat", "apply"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.5 # 较低温度提高工具调用准确性
maxTokens: 4000建议:
- 降低温度: 提高工具调用的准确性
- 清晰提示: 明确工具使用场景
- 错误处理: 处理工具调用失败
- 权限控制: 限制工具访问权限
图像输入最佳实践
yaml
models:
- name: "vision-expert"
provider: "openai"
model: "gpt-4-vision-preview"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096 # 图像分析可能需要更多 token建议:
- 图像质量: 使用清晰的图像
- 大小限制: 注意图像大小限制
- 格式选择: 使用支持的格式
- 上下文结合: 结合文本描述
下一步编辑最佳实践
yaml
models:
- name: "edit-expert"
provider: "anthropic"
model: "claude-3-sonnet"
apiKey: "${ANTHROPIC_API_KEY}"
roles: ["edit"]
capabilities: ["next_edit"]
defaultCompletionOptions:
temperature: 0.2 # 低温度保证编辑准确性
maxTokens: 4000建议:
- 低温度: 确保编辑的准确性
- 充足上下文: 提供完整的代码上下文
- 增量编辑: 一次进行一个编辑
- 验证结果: 检查编辑结果
高级配置
条件能力启用
yaml
models:
# 开发环境 - 启用所有能力
- name: "dev-model"
provider: "openai"
model: "gpt-4"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use", "image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000
# 生产环境 - 限制能力
- name: "prod-model"
provider: "openai"
model: "gpt-4"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: [] # 不启用特殊能力
defaultCompletionOptions:
temperature: 0.7
maxTokens: 2000能力降级
当首选模型不可用时的降级策略:
yaml
models:
# 主模型 - 全部能力
- name: "primary-model"
provider: "openai"
model: "gpt-4-vision-preview"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use", "image_input"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096
# 备用模型 - 部分能力
- name: "fallback-model"
provider: "openai"
model: "gpt-4"
apiKey: "${OPENAI_API_KEY}"
roles: ["chat"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4000故障排除
能力不可用
解决方案:
- 检查模型是否支持该能力
- 验证提供商配置
- 确认 API 版本
- 查看提供商文档
工具调用失败
解决方案:
- 检查工具定义
- 验证参数格式
- 确认权限设置
- 查看错误日志
性能问题
解决方案:
- 优化工具数量
- 减少图像大小
- 调整 token 限制
- 使用更快的模型
环境变量配置
bash
# ~/.bashrc 或 ~/.zshrc
export OPENAI_API_KEY="your-openai-api-key"
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export GOOGLE_API_KEY="your-google-api-key"通过充分理解和利用模型能力,您可以构建更强大、更智能的 AI 辅助开发环境。