供应商路由
ZenMux 采用多供应商架构,针对同一模型配置多家供应商接入,通过智能路由选择合适的供应商进行调用,确保最佳的性能和可用性。通过 ZenMux 调用大模型时,开发者无需关心底层的供应商选择逻辑,只需指定模型名称即可。
为什么需要多供应商架构
在企业级 AI 应用中,单一供应商的架构存在诸多风险:
- 服务中断风险:供应商故障导致业务停摆
- 性能波动问题:不同供应商的延迟和吞吐量差异显著
- 成本优化困难:缺乏灵活的供应商选择机制
- 地理位置限制:单一供应商可能无法覆盖全球市场
- 合规性要求:不同地区对数据存储和处理有不同规定
ZenMux 的多供应商架构从根本上解决这些问题,为您的 AI 应用提供企业级保障。
核心优势
高可用性保障
当某个供应商出现服务异常或容量不足时,ZenMux 会自动切换到其他可用供应商,确保服务连续性,无需人工干预。
保障机制:
- 实时健康检测:持续监控所有供应商的服务状态
- 智能故障转移:毫秒级切换到备用供应商
- 透明切换过程:用户无感知的故障恢复
- 多层冗余设计:主流模型配备 2-3 家供应商
详细的故障转移和模型兜底策略,请参考 模型兜底文档。
性能优化
不同供应商在不同地理位置、不同时段的性能表现各异。ZenMux 通过智能路由策略,为每个请求选择最优供应商。
性能优势:
- 延迟优化:首 Token 延迟作为重要权重进行供应商选择
- 吞吐量保障:在高负载时动态调整供应商分配
- 全球加速:结合 Cloudflare 边缘网络实现全球低延迟
- 实时监控:持续跟踪性能指标,动态优化路由策略
成本控制灵活性
通过多供应商架构,您可以根据预算和性能需求灵活选择最合适的供应商。
成本优化方式:
- 价格对比透明:实时展示各供应商的价格信息
- 灵活切换:轻松在不同供应商之间切换以优化成本
- 按需路由:通过供应商路由配置实现成本控制
默认路由策略
ZenMux 采用以下默认路由策略:
智能路由原则
- 性能优先:按照首 Token 延迟(Latency)从低到高排序
- 智能切换:如果原厂不可用,自动切换到其他供应商
这种策略在保证性能的同时,最大化了服务的可用性。
指定供应商的简单方式
ZenMux 提供了一种简单直接的供应商配置方式——模型名称后缀语法。无需使用单独的 provider 配置字段,您可以直接在模型名称中指定供应商。
语法格式
model_slug:provider_slug使用示例
模型 Slug 获取说明
ZenMux 平台的模型具备唯一 Slug,您可以通过模型列表页获取对应模型的 Slug:
或者某个模型的模型详情页获取对应模型的 Slug: 
供应商 Slug 获取说明
ZenMux 平台的模型供应商具备唯一 Slug,您可以通过模型详情页获取对应模型供应商的 Slug: 
例如,如果要将 Claude 3.7 Sonnet 锁定到 AWS Bedrock 供应商,只需使用:
anthropic/claude-3.7-sonnet:amazon-bedrock:amazon-bedrock 后缀告诉 ZenMux 将请求专门路由到指定的供应商,无需额外配置。
{
"model": "anthropic/claude-3.7-sonnet:amazon-bedrock",
"messages": [
{
"role": "user",
"content": "Hello, Claude!"
}
]
}from openai import OpenAI
client = OpenAI(
base_url="https://zenmux.ai/api/v1",
api_key="<你的_API_密钥>"
)
response = client.chat.completions.create(
model="anthropic/claude-3.7-sonnet:amazon-bedrock",
messages=[
{"role": "user", "content": "Hello, Claude!"}
]
)
print(response.choices[0].message.content)优势特点
| 特点 | 说明 |
|---|---|
| 简洁直观 | 直接在模型名称中指定,无需额外配置字段 |
| API 兼容 | 完全兼容 OpenAI SDK 的标准参数结构 |
| 快速切换 | 只需修改模型名称即可切换供应商 |
| 清晰明确 | 一目了然地看出正在使用哪个供应商 |
💡 最佳实践
对于大多数场景,推荐使用模型名称后缀语法来指定供应商,这是最简单直接的方式。如果需要更复杂的路由策略(如多供应商回退、动态优先级等),可以使用下文介绍的高级路由配置。
高级路由配置
对于需要更精细控制的场景,ZenMux 提供了完整的 provider 配置能力。
按性能指标路由
您可以通过 provider.routing 配置,指定按照特定性能维度进行供应商排序。
支持的路由维度
| 维度 | 说明 |
|---|---|
| latency | 按照首 Token 延迟(Latency)从低到高排序 |
| price | 按照综合价格(Prompt + Completion)从低到高排序 |
| throughput | 按照吞吐量从高到低排序 |
配置示例
{
"model": "anthropic/claude-sonnet-4",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"provider": {
"routing": {
"type": "priority",
"primary_factor": "latency"
}
}
}{
"model": "anthropic/claude-sonnet-4",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"provider": {
"routing": {
"type": "priority",
"primary_factor": "price"
}
}
}{
"model": "anthropic/claude-sonnet-4",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"provider": {
"routing": {
"type": "priority",
"primary_factor": "throughput"
}
}
}指定供应商列表
您可以明确指定供应商列表及其调用顺序,实现自定义的回退机制。
{
"model": "anthropic/claude-sonnet-4",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"provider": {
"routing": {
"type": "order",
"providers": [
"anthropic/anthropic_endpoint",
"google-vertex/VertexAIAnthropic",
"amazon-bedrock/BedrockAnthropic"
]
}
}
}from openai import OpenAI
client = OpenAI(
base_url="https://zenmux.ai/api/v1",
api_key="<你的_API_密钥>"
)
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4",
messages=[
{"role": "user", "content": "Hello!"}
],
extra_body={
"provider": {
"routing": {
"type": "order",
"providers": [
"anthropic/anthropic_endpoint",
"google-vertex/VertexAIAnthropic",
"amazon-bedrock/BedrockAnthropic"
]
}
}
}
)路由行为说明
通过指定 providers 列表,ZenMux 的路由行为如下:
- 顺序调用:按照列表顺序依次尝试调用各个供应商
- 成功即停:直到某个供应商成功返回结果为止
- 单一供应商:如果只指定一个供应商,ZenMux 只会调用该供应商
- 错误处理:如果指定的供应商返回错误,直接返回错误信息
⚠️ 注意事项
使用自定义路由策略时,请确保指定的供应商确实支持所选模型,否则可能导致调用失败。
使用场景
不同的路由策略适用于不同的业务场景:
| 场景 | 推荐方式 | 说明 |
|---|---|---|
| 锁定单一供应商 | 模型名称后缀语法 | 简单直接,适合生产环境固定供应商 |
| 地理位置优化 | 指定供应商列表 | 选择地理位置更近的供应商以降低延迟 |
| 成本控制 | 按价格路由 | 优先选择价格更优的供应商 |
| 性能优化 | 按延迟或吞吐量路由 | 根据性能指标动态选择最佳供应商 |
| 高可用保障 | 指定供应商列表(多个) | 多供应商回退机制,确保服务连续性 |
| 合规要求 | 锁定特定供应商 | 选择符合数据合规要求的供应商 |
| 测试验证 | 灵活切换 | A/B 测试不同供应商的表现 |
📋 完整示例
import requests
# 示例 1: 使用模型名称后缀语法(推荐)
response_1 = requests.post(
"https://zenmux.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <你的_API_密钥>",
"Content-Type": "application/json"
},
json={
"model": "anthropic/claude-sonnet-4:anthropic",
"messages": [{"role": "user", "content": "Hello!"}]
}
)
# 示例 2: 使用高级路由配置
response_2 = requests.post(
"https://zenmux.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer <你的_API_密钥>",
"Content-Type": "application/json"
},
json={
"model": "anthropic/claude-sonnet-4",
"messages": [{"role": "user", "content": "Hello!"}],
"provider": {
"routing": {
"type": "order",
"providers": [
"anthropic/anthropic_endpoint",
"amazon-bedrock/BedrockAnthropic"
]
}
}
}
)
print(response_1.json())
print(response_2.json())通过合理配置供应商路由策略,您可以根据具体业务需求优化 API 调用的性能、成本和可靠性。
如何查看供应商信息
模型详情页
点击任意模型卡片可进入该模型的详情页,在详情页中您可以查看:
- 供应商列表:该模型支持的所有供应商
- 性能对比:不同供应商的首 Token 延迟、吞吐量等性能指标
- 价格对比:各供应商的所有计费项的详细价格
- 参数对比:各供应商支持的参数
- 支持协议:各供应商支持的调用协议(OpenAI API、Anthropic API 等)
- 可用性状态:实时显示各供应商的服务状态
- 供应商 Slug:用于供应商路由配置的标识符
模型详情页示例
例如访问 Claude Sonnet 4 详情页,可以看到该模型在 Anthropic、Google Vertex、Amazon Bedrock 等供应商的完整对比信息。

供应商详情页
此外,您还可以通过供应商详情页查看该供应商支持的所有模型:
- 模型列表:该供应商接入的所有模型
- 用量统计:该供应商的接入所有模型的用量统计数据
供应商详情页示例
例如访问 Anthropic 供应商页面,可以看到该供应商提供的所有 Claude 模型及其详细信息。

通过模型详情页和供应商详情页,您可以全面了解各个模型和供应商的特性,做出最适合您业务需求的选择。
常见问题
Q: 如何查看某次调用使用了哪个供应商?
A: 在 ZenMux 控制台的调用日志中可以查看每次请求的详细信息,包括使用的模型和供应商。

Q: 自动切换供应商会影响输出一致性吗?
A: 同一模型在不同供应商的输出通常是一致的,因为它们使用相同的底层模型权重。但某些供应商可能有轻微的响应时间差异。
Q: 多供应商架构会增加延迟吗?
A: 不会。ZenMux 的路由决策在毫秒级完成,对总体延迟的影响可以忽略不计。反而通过智能选择低延迟供应商,可以降低总体响应时间。
联系我们
如果您在使用过程中遇到任何问题,或有任何建议和反馈,欢迎通过以下方式联系我们:
- 官方网站:https://zenmux.ai
- 技术支持邮箱:[email protected]
- 商务合作邮箱:[email protected]
- Twitter:@ZenMuxAI
- Discord 社区:http://discord.gg/vHZZzj84Bm
更多联系方式和详细信息,请访问我们的联系我们页面。