概念解释:
虚拟模型:模型广场中展示的模型均为虚拟模型,背后可能有一至多个真实的供应商。
供应商模型/真实模型/候选模型:均指真实的供应商模型,大模型调用真正的请求目标。
provider 对象,并在其中传入智能路由参数。{
"model": "your-virtual-model",
"messages": [
{
"role": "user",
"content": "你好"
}
],
"provider": {
"sort": "price",
"max_price": {
"prompt": 0.01,
"completion": 0.03
}
}
}provider 中的参数不会改变用户请求的模型语义,它们只影响虚拟模型候选集的筛选和排序。model 找到该虚拟模型下的所有候选。only、ignore、max_price、preferred_min_throughput、preferred_max_latency 等参数过滤候选集。sort 对剩余候选排序。| 参数 | 类型 | 作用 |
|---|---|---|
max_price | object | 限制候选 provider 的最高价格 |
preferred_min_throughput | number | 限制候选 provider 的最低吞吐 |
preferred_max_latency | number | 限制候选 provider 的最高延迟 |
only | string[] | 只允许指定 provider 进入候选集 |
ignore | string[] | 排除指定 provider |
sort | string | 控制最终候选的排序策略 |
max_pricemax_price 用于限制单次请求可接受的最高价格。当前支持 prompt 和 completion 两个维度。{
"provider": {
"max_price": {
"prompt": 0.01,
"completion": 0.03
}
}
}| 字段 | 说明 |
|---|---|
prompt | 输入价格上限 |
completion | 输出价格上限 |
prompt,候选的输入价格必须小于或等于该值。completion,候选的输出价格必须小于或等于该值。0.01、输出价格不超过 0.03 的候选。{
"model": "your-virtual-model",
"messages": [
{
"role": "user",
"content": "请总结这段内容"
}
],
"provider": {
"max_price": {
"prompt": 0.01,
"completion": 0.03
}
}
}preferred_min_throughputpreferred_min_throughput 用于限制候选 provider 的最低吞吐。只有吞吐大于或等于阈值的候选会被保留。{
"provider": {
"preferred_min_throughput": 50
}
}throughput 必须大于或等于设置值。50 的候选。{
"model": "your-virtual-model",
"messages": [
{
"role": "user",
"content": "写一段产品介绍"
}
],
"provider": {
"preferred_min_throughput": 50,
"sort": "throughput"
}
}50 的候选,再优先选择吞吐更高的候选。preferred_max_latencypreferred_max_latency 用于限制候选 provider 的最高延迟。只有延迟小于或等于阈值的候选会被保留。{
"provider": {
"preferred_max_latency": 3000
}
}latency 必须小于或等于设置值。3000 表示 3000 ms。3000 的候选,并优先选择延迟最低的候选。{
"model": "your-virtual-model",
"messages": [
{
"role": "user",
"content": "用户正在等待,请快速回答"
}
],
"provider": {
"preferred_max_latency": 3000,
"sort": "latency"
}
}onlyonly 用于指定 provider 白名单。设置后,只有 provider 名称在白名单中的候选会被保留。{
"provider": {
"only": ["openai", "anthropic"]
}
}/ 之前的部分提取。如供应商模型tencent/deepseek/deepseek-v4-pro的 provider 名称为 tencent。openai/gpt-4o 的 provider 名称是 openai。openai/azure/gpt-4o 的 provider 名称也是 openai。only 为空数组时,候选集会变为空。openai 或 anthropic 的候选。{
"model": "your-virtual-model",
"messages": [
{
"role": "user",
"content": "解释一下量子计算"
}
],
"provider": {
"only": ["openai", "anthropic"]
}
}ignoreignore 用于指定 provider 黑名单。设置后,provider 名称在黑名单中的候选会被剔除。{
"provider": {
"ignore": ["openai"]
}
}/ 之前的部分提取。如供应商模型tencent/deepseek/deepseek-v4-pro的 provider 名称为 tencent。ignore 为空数组时,不产生过滤效果。openai 的候选。{
"model": "your-virtual-model",
"messages": [
{
"role": "user",
"content": "生成一份周报"
}
],
"provider": {
"ignore": ["openai"]
}
}only 和 ignore 同时使用only 和 ignore 同时存在时,会先应用 only,再应用 ignore。最终候选必须同时满足:only 白名单内。ignore 黑名单内。{
"provider": {
"only": ["openai", "anthropic"],
"ignore": ["openai"]
}
}openai 和 anthropic,再排除 openai,最终只剩下 anthropic 的候选。sortsort 用于控制候选集的排序策略。当前支持三个值:| 取值 | 说明 |
|---|---|
price | 优先选择价格更低的候选 |
throughput | 优先选择吞吐更高的候选 |
latency | 优先选择延迟更低的候选 |
sort: "price"{
"provider": {
"sort": "price"
}
}prompt * 3 + completionsort: "throughput"{
"provider": {
"sort": "throughput"
}
}sort: "latency"{
"provider": {
"sort": "latency"
}
}