OpenRouter
OpenRouter 是一个模型路由服务,提供对多种 AI 模型的统一访问接口,支持模型切换和负载均衡。
支持的模型
OpenAI 模型
- openai/gpt-4o - 最新的 GPT-4 优化版本
- openai/gpt-4-turbo - 快速的 GPT-4 版本
- openai/gpt-3.5-turbo - 高性价比模型
Anthropic 模型
- anthropic/claude-3-opus - 最强大的 Claude 模型
- anthropic/claude-3-sonnet - 平衡性能和速度
- anthropic/claude-3-haiku - 快速响应
Google 模型
- google/gemini-pro - Gemini Pro 模型
- google/gemini-pro-vision - 支持图像输入
Meta 模型
- meta-llama/llama-3-70b-instruct - LLaMA 3 大型模型
- meta-llama/llama-3-8b-instruct - LLaMA 3 轻量版
Mistral 模型
- mistralai/mistral-7b-instruct - Mistral 7B 模型
- mistralai/mixtral-8x7b-instruct - Mixtral MoE 模型
其他模型
- cohere/command-r-plus - Cohere 命令模型
- perplexity/pplx-70b-online - Perplexity 在线模型
- qwen/qwen-2-72b-instruct - 通义千问模型
配置方法
基础配置
在 config.yaml 或 ~/.bytebuddy/config.yaml 中配置:
yaml
models:
- name: "openrouter-gpt4"
provider: "openrouter"
model: "openai/gpt-4o"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat", "edit"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096多模型配置
yaml
models:
- name: "openrouter-claude"
provider: "openrouter"
model: "anthropic/claude-3-sonnet"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat"]
defaultCompletionOptions:
temperature: 0.5
maxTokens: 4096
- name: "openrouter-gemini"
provider: "openrouter"
model: "google/gemini-pro"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096
- name: "openrouter-llama"
provider: "openrouter"
model: "meta-llama/llama-3-70b-instruct"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat"]
defaultCompletionOptions:
temperature: 0.6
maxTokens: 4096配置字段说明
必需字段
- name: 模型配置的唯一标识符
- provider: 设置为
"openrouter" - model: 模型标识符(格式:
provider/model-name) - apiKey: OpenRouter API 密钥
可选字段
- roles: 模型角色 [
chat,edit,apply,autocomplete] - defaultCompletionOptions:
temperature: 控制输出的随机性(0-2)maxTokens: 最大令牌数topP: 核采样参数topK: 采样候选数量frequencyPenalty: 频率惩罚presencePenalty: 存在惩罚
环境变量配置
bash
# ~/.bashrc 或 ~/.zshrc
export OPENROUTER_API_KEY="your-openrouter-api-key"获取 API 密钥
- 访问 OpenRouter 官网
- 注册账户并登录
- 导航到 API Keys 页面
- 创建新的 API 密钥
- 将密钥保存到环境变量中
使用场景配置
高质量对话
yaml
models:
- name: "quality-chat"
provider: "openrouter"
model: "anthropic/claude-3-opus"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 8000快速响应
yaml
models:
- name: "fast-response"
provider: "openrouter"
model: "anthropic/claude-3-haiku"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat", "autocomplete"]
defaultCompletionOptions:
temperature: 0.5
maxTokens: 2000代码生成
yaml
models:
- name: "code-gen"
provider: "openrouter"
model: "openai/gpt-4o"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat", "edit"]
defaultCompletionOptions:
temperature: 0.2
maxTokens: 4000高级配置
完整配置示例
yaml
models:
- name: "openrouter-advanced"
provider: "openrouter"
model: "openai/gpt-4o"
apiKey: "${OPENROUTER_API_KEY}"
roles: ["chat", "edit", "apply"]
capabilities: ["tool_use"]
defaultCompletionOptions:
temperature: 0.7
maxTokens: 4096
topP: 0.9
frequencyPenalty: 0.1
presencePenalty: 0.1
stream: true
requestOptions:
timeout: 60000
verifySsl: true故障排除
常见错误
- 401 Unauthorized: 检查 API 密钥是否正确
- 404 Model Not Found: 验证模型标识符格式
- 429 Too Many Requests: 达到速率限制,等待后重试
- 503 Service Unavailable: 模型暂时不可用,尝试其他模型
调试步骤
- 验证 API 密钥格式和有效性
- 确认模型标识符正确
- 检查账户余额和配额
- 查看 OpenRouter 状态页面
最佳实践
1. 模型选择
- 复杂任务: 使用 GPT-4 或 Claude 3 Opus
- 一般对话: 使用 Claude 3 Sonnet 或 Gemini Pro
- 快速响应: 使用 Claude 3 Haiku
- 成本敏感: 使用 GPT-3.5 Turbo
2. 安全性
- 使用环境变量存储 API 密钥
- 定期轮换密钥
- 监控异常使用
3. 性能优化
- 启用流式响应提高用户体验
- 根据任务选择合适模型
- 设置合理的超时时间
4. 成本控制
- 监控 API 使用量
- 根据任务复杂度选择模型
- 设置合理的 maxTokens 限制
模型对比
| 模型类别 | 推荐模型 | 适用场景 | 相对成本 |
|---|---|---|---|
| 最强性能 | GPT-4, Claude 3 Opus | 复杂任务 | 高 |
| 平衡性能 | Claude 3 Sonnet, Gemini Pro | 一般任务 | 中 |
| 快速响应 | Claude 3 Haiku, GPT-3.5 | 简单任务 | 低 |
| 开源模型 | Llama 3, Mixtral | 特定用途 | 低 |