主题模式
路由排序的冒号语法
功能概述
AI Ping 支持通过模型名称字符串直接指定路由策略,无需修改 extra_body 配置,方便您在第三方 APP 中使用。
您可将模型写为 模型名:排序方法:参数,不同参数使用英文冒号分隔,AI Ping 会自动进行处理。
如 DeepSeek-R1:latency 可代表通过延时优先策略选择 DeepSeek-R1 模型的服务商,也可以用 DeepSeek-R1:throughput:latency<500,input_price<1.0 同时吞吐量优先 + 延迟限制 + 价格过滤
以 Cline 为例,您可以在模型名处进行如下设置:

即可以使用 latency 排序的 deepseek-v3.2 模型。
具体路由算法说明以 智能路由 文档为准。
字符串格式
模型名:排序方法:参数1,参数2,参数3所有部分都是可选的,但顺序固定:
- 模型名:LLM 模型名,如
MiniMax-M2 - 排序方法:路由选择策略,可选项:
latency,throughput,input_price,output_price,input_length - 参数:过滤条件
排序方法设置说明
latency:优先选择延迟最低的提供商throughput:优先选择吞吐量最高的提供商input_price:优先选择输入价格最低的提供商output_price:优先选择输出价格最低的提供商input_length:优先选择支持最长输入的提供商
参数设置说明
提供商过滤
provider=华为云: 只使用指定提供商(等同于only=华为云)only=硅基流动,阿里云百炼: 白名单多个提供商,用逗号或管道符分隔only=硅基流动|阿里云百炼: 使用管道符分隔多个提供商ignore=移动云,百度智能云: 黑名单排除提供商
示例:
DeepSeek-R1::only=硅基流动,阿里云百炼
MiniMax-M2::provider=华为云注:由于空字符串会被自动忽略,以下写法是等价的:
MiniMax-M2::provider=华为云MiniMax-M2:provider=华为云
性能过滤
支持范围过滤,使用比较运算符:
latency<500: 延迟小于 500 mslatency>200: 延迟大于 200 mslatency<=300: 延迟小于等于 300 mslatency>=100: 延迟大于等于 100 msthroughput>100: 吞吐量大于 100input_price<0.5: 输入价格小于 0.5 元/M tokensoutput_price<2.0: 输出价格小于 2.0 元/M tokensinput_length>8000: 支持输入长度大于 8000 tokensinput_length<32000: 支持输入长度小于 32000 tokens
示例:
DeepSeek-R1:latency:latency<500
MiniMax-M2:input_price:input_price<0.5,output_price<2.0回退控制
控制当指定提供商不可用时是否允许回退到其他提供商:
allow_fallbacks=false: 不允许回退,只使用指定的提供商allow_fallbacks=true: 允许回退到其他提供商(默认行为)nofallback: 简洁写法,等同于allow_fallbacks=false
示例:
DeepSeek-R1:only=硅基流动,阿里云百炼,allow_fallbacks=false
MiniMax-M2:only=华为云,nofallback注意,参数之间必须用逗号 , 分隔,不能用冒号 :。
下面是正确的格式:
MiniMax-M2.1:latency:ignore=七牛云,nofallback这是错误的格式:
MiniMax-M2.1:latency:ignore=七牛云:nofallback完整用例示例
基础用法
1.1 仅指定模型名(使用默认策略)
MiniMax-M21.2 仅指定排序方法
DeepSeek-R1:latency
MiniMax-M2:input_price1.3 仅指定参数(无排序方法)
DeepSeek-R1::only=硅基流动,阿里云百炼
MiniMax-M2::provider=华为云排序方法完整示例
2.1 延迟优先
DeepSeek-R1:latency
MiniMax-M2:latency:latency<5002.2 吞吐量优先
DeepSeek-R1:throughput
MiniMax-M2:throughput:throughput>1002.3 输入价格优先
DeepSeek-R1:input_price
MiniMax-M2:input_price:input_price<0.52.4 输出价格优先
DeepSeek-R1:output_price
MiniMax-M2:output_price:output_price<2.02.5 输入长度优先
DeepSeek-R1:input_length
MiniMax-M2:input_length:input_length>8000提供商过滤完整示例
3.1 提供商白名单
DeepSeek-R1::provider=华为云
MiniMax-M2:latency:provider=硅基流动
GPT-4:throughput:provider=阿里云百炼
DeepSeek-R1::only=硅基流动,阿里云百炼
MiniMax-M2:latency:only=华为云,硅基流动3.2 提供商黑名单
DeepSeek-R1::ignore=移动云
MiniMax-M2:latency:ignore=移动云,百度智能云性能过滤完整示例
4.1 延迟过滤
DeepSeek-R1:latency:latency<500
MiniMax-M2:throughput:latency<3004.2 吞吐量过滤
DeepSeek-R1:throughput:throughput>100
MiniMax-M2:latency:throughput>1504.3 价格过滤
DeepSeek-R1:input_price:input_price<0.5
MiniMax-M2:output_price:output_price<2.04.4 输入长度过滤
DeepSeek-R1:input_length:input_length>8000
MiniMax-M2:latency:input_length>16000回退控制完整示例
5.1 不允许回退
DeepSeek-R1:only=硅基流动,阿里云百炼,allow_fallbacks=false
MiniMax-M2:only=华为云,nofallback5.2 允许回退(显式)
DeepSeek-R1:only=硅基流动,阿里云百炼,allow_fallbacks=true
MiniMax-M2:only=华为云,allow_fallbacks=true5.3 默认行为(未指定,允许回退)
DeepSeek-R1:only=硅基流动,阿里云百炼
MiniMax-M2:latency:only=华为云复杂组合示例
6.1 排序 + 提供商过滤 + 性能过滤
DeepSeek-R1:latency:only=硅基流动,阿里云百炼,latency<500,input_price<1.0
MiniMax-M2:throughput:only=华为云,throughput>100,latency<3006.2 排序 + 提供商过滤 + 性能过滤 + 回退控制
DeepSeek-R1:latency:only=硅基流动,阿里云百炼,latency<500,input_price<1.0,allow_fallbacks=false
MiniMax-M2:throughput:only=华为云,throughput>100,latency<300,nofallback6.3 黑名单 + 性能过滤
DeepSeek-R1:latency:ignore=移动云,百度智能云,latency<500
MiniMax-M2:throughput:ignore=移动云,throughput>100,latency<3006.4 多维度性能过滤
DeepSeek-R1:latency:latency<500,throughput>100,input_price<1.0,output_price<2.0
MiniMax-M2:throughput:latency<300,throughput>150,input_price<0.5,input_length>80006.5 完整配置示例
DeepSeek-R1:latency:only=硅基流动,阿里云百炼,ignore=移动云,latency<500,throughput>100,input_price<1.0,output_price<2.0,input_length>8000,allow_fallbacks=false参数分隔说明
- 模型名、排序方法、参数之间:使用英文冒号
:分隔 - 多个参数之间:使用英文逗号
,分隔 - 多个提供商名称之间:可以使用逗号
,或管道符|分隔
注意事项
- 参数顺序:参数之间用逗号分隔,顺序不影响结果
- 大小写:排序方法、参数名不区分大小写,但建议使用小写
- 默认行为:未指定
allow_fallbacks时,默认允许回退到其他提供商 - 优先级:如果请求中已存在
extra_body.provider配置,模型字符串中的配置将被忽略 - 兼容性:所有接口(chat、embedding、rerank、image)都支持此语法
- 等价写法:
Model::provider=X和Model:provider=X是等价的(空排序方法会被忽略)
解析算法原理
AI Ping 的模型字符串解析器采用从右到左的解析策略,这是为了支持模型名本身可能包含冒号的情况。解析步骤如下:
- 分割字符串:按冒号
:分割整个字符串 - 从右到左识别:
- 最后一部分:检查是否包含
=、<、>、,或已知关键字(如nofallback),如果是,则识别为参数部分 - 倒数第二部分:检查是否为有效的排序方法(
latency、throughput等),如果是,则识别为排序方法 - 剩余部分:合并为模型名
- 最后一部分:检查是否包含
由于空字符串会被自动忽略,以下写法是等价的:
MiniMax-M2::provider=华为云MiniMax-M2:provider=华为云
两者都会解析为:模型名 MiniMax-M2,参数 provider=华为云(无排序方法)。
参数识别规则
参数部分通过以下特征识别:
- 键值对格式:包含
=符号,如provider=华为云、allow_fallbacks=false - 范围过滤格式:包含
<或>符号,如latency<500、throughput>100 - 列表格式:包含
,符号,如only=硅基流动,阿里云百炼 - 关键字格式:已知关键字,如
nofallback
参数解析规则
参数之间使用逗号 , 分隔,解析器会:
- 合并连续的值:
only=A,B会被识别为一个参数,而不是两个 - 识别关键字:
nofallback会被识别为独立参数,不会与前面的值合并 - 支持多种分隔符:提供商名称可以使用逗号
,或管道符|分隔
示例:
输入: "Model:latency:only=硅基流动,阿里云百炼,nofallback"
参数部分: "only=硅基流动,阿里云百炼,nofallback"
解析结果:
- only: ["硅基流动", "阿里云百炼"] (nofallback 被识别为独立参数)
- allow_fallbacks: False