使用者
路由策略
BYOKS 提供智能路由,帮助你优化成本、延迟和可用性。
路由策略类型
优先级路由
按配置顺序尝试 Provider:
{
"strategy": "priority",
"providers": ["openai", "anthropic", "deepseek"]
}工作流程:
- 首先尝试 OpenAI
- 如果 OpenAI 失败,尝试 Anthropic
- 如果 Anthropic 也失败,尝试 DeepSeek
成本优化路由
自动选择最便宜的可用 Provider:
{
"strategy": "cost",
"maxLatency": 2000
}| 参数 | 说明 |
|---|---|
maxLatency | 可接受的最大延迟(毫秒),超过此延迟的 Provider 不参与成本比较 |
延迟优化路由
自动选择响应最快的 Provider:
{
"strategy": "latency",
"region": "auto"
}| 参数 | 说明 |
|---|---|
region | auto 自动选择最近节点,或指定区域如 us-west、asia-east |
负载均衡路由
在多个 Provider 间分配流量:
{
"strategy": "loadbalance",
"weights": {
"openai": 70,
"anthropic": 30
}
}故障转移
无论使用哪种策略,你都可以配置自动故障转移:
{
"fallback": {
"enabled": true,
"retries": 2,
"timeout": 5000,
"backoffMs": 1000
}
}| 参数 | 说明 | 默认值 |
|---|---|---|
enabled | 是否启用故障转移 | true |
retries | 重试次数 | 2 |
timeout | 单次请求超时(毫秒) | 30000 |
backoffMs | 重试间隔(毫秒) | 1000 |
故障转移流程
- 请求到达,尝试 Provider 1
- 如果成功,直接返回响应
- 如果失败,等待 backoff 时间
- 尝试 Provider 2
- 如果成功,返回响应;如果失败且达到重试上限,返回错误
响应缓存
启用缓存可以减少重复请求的成本和延迟:
{
"cache": {
"enabled": true,
"ttl": 3600,
"scope": "user"
}
}| 参数 | 说明 | 默认值 |
|---|---|---|
enabled | 是否启用缓存 | false |
ttl | 缓存过期时间(秒) | 3600 |
scope | 缓存范围:user(用户级)或 global(全局) | user |
缓存命中条件
相同的:
- 模型
- 消息内容
- 温度等参数
绕过缓存
如果某次请求不想使用缓存:
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [...],
}, {
headers: {
'x-byoks-cache': 'skip',
},
});模型映射
你可以配置模型别名,简化调用:
{
"modelMapping": {
"fast": "gpt-4o-mini",
"smart": "claude-3-5-sonnet-20241022",
"cheap": "deepseek-chat"
}
}使用时:
const response = await client.chat.completions.create({
model: 'fast', // 实际使用 gpt-4o-mini
messages: [...],
});最佳实践
生产环境推荐配置
{
"strategy": "priority",
"providers": ["openai", "anthropic"],
"fallback": {
"enabled": true,
"retries": 2
},
"cache": {
"enabled": true,
"ttl": 3600
}
}成本敏感场景
{
"strategy": "cost",
"maxLatency": 5000,
"fallback": {
"enabled": true
}
}低延迟场景
{
"strategy": "latency",
"region": "auto",
"cache": {
"enabled": true,
"ttl": 60
}
}