BYOKSBYOKS Docs

使用者

路由策略

BYOKS 提供智能路由,帮助你优化成本、延迟和可用性。

路由策略类型

优先级路由

按配置顺序尝试 Provider:

{
  "strategy": "priority",
  "providers": ["openai", "anthropic", "deepseek"]
}

工作流程:

  1. 首先尝试 OpenAI
  2. 如果 OpenAI 失败,尝试 Anthropic
  3. 如果 Anthropic 也失败,尝试 DeepSeek

成本优化路由

自动选择最便宜的可用 Provider:

{
  "strategy": "cost",
  "maxLatency": 2000
}
参数说明
maxLatency可接受的最大延迟(毫秒),超过此延迟的 Provider 不参与成本比较

延迟优化路由

自动选择响应最快的 Provider:

{
  "strategy": "latency",
  "region": "auto"
}
参数说明
regionauto 自动选择最近节点,或指定区域如 us-westasia-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

故障转移流程

  1. 请求到达,尝试 Provider 1
  2. 如果成功,直接返回响应
  3. 如果失败,等待 backoff 时间
  4. 尝试 Provider 2
  5. 如果成功,返回响应;如果失败且达到重试上限,返回错误

响应缓存

启用缓存可以减少重复请求的成本和延迟:

{
  "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
  }
}

下一步