主题模式
嵌入模型(Embedding)
1. 嵌入模型(Embedding)
- https://aiping.cn/api/v1/embeddings
- Note: 使用 OpenAI SDK 时,base_url 使用 https://aiping.cn/api/v1 (不要带 /embeddings),通过 client.embeddings.create(...) 调用
- 说明: 与 OpenAI Embeddings API 高度兼容;为实现多供应商路由/计费,扩展了 extra_body(请求)与 provider(响应)等字段
1.1 Header 参数
Authorization
Bearer Token
在 Header 添加参数
Authorization , 其值为在 Bearer 之后拼接 Token 示例:
Authorization: Bearer ********************1.2 Body 参数
Body
modelstring必需标准 Embedding 模型目录,不区分大小写,服务端自动标准化;需在系统标准 Embedding 目录内
inputstringarray必需支持单条或多条文本
encoding_formatstring可选透传给下游的编码格式;不填按供应商默认
可选值:
floatbase64extra_bodyExtraBody可选路由与策略控制等扩展字段
providerProvider必需供应商选择/过滤/排序策略
onlyarray可选白名单;仅在该集合内挑选供应商
可选值:
供应商orderarray可选供应商排序
可选值:
供应商sortstringarray可选排序策略,详见[路由策略]
支持多关键字排序,优先级按顺序降低。
可选值:
input_priceoutput_pricethroughputlatencyinput_lengthinput_price_rangearray可选限制输入价格范围,单位: ¥ / 1M Token,如:[1,2],表示筛选输入价格 price:1<=price<=2 的供应商
output_price_rangearray可选限制输出价格范围,单位: ¥ / 1M Token
throughput_rangearray可选限制吞吐范围,单位:tokens/s, 基于实时的吞吐数据调度
latency_rangearray可选限制延迟范围,单位:s, 基于实时的延迟数据调度
input_length_rangearray可选限制最大输入长度范围
allow_filter_prompt_lengthboolean可选是否允许打开自动按照输入提示词长度筛选供应商,默认为 True
ignorearray可选黑名单;从候选中排除
allow_fallbacksboolean可选值为 True 时,系统按照用户指定筛选策略(延迟、吞吐、最大输入长度)无法找到合适的供应商时,为了保证接口可用,将按照指定排序策略调度给其他的供应商。默认为 True
enable_thinkingboolean可选思考功能开关,接受该字段;在 Embeddings 中不生效
可选值:
truefalseconsume_typestring可选建议传 api,便于计费/追踪
可选值:
chatapi- 策略应用顺序:
only→ignore→ 各种范围过滤 →order→sort - 冲突:
only与ignore不可交叉包含相同供应商(将返回 422) - 指标依赖:范围/排序依赖实时指标(吞吐、时延、价格、输入长度能力);无指标时可能跳过范围过滤或降级排序
1.3 请求格式示例(JSON)
json
{
"model": "Qwen3-Embedding-0.6B",
"input": ["这是一段文本", "第二段文本"],
"encoding_format": "float",
"extra_body": {
"provider": {
"only": [],
"ignore": [],
"order": [],
"sort": ["throughput"],
"input_price_range": [],
"output_price_range": [],
"throughput_range": [],
"latency_range": [],
"input_length_range": []
},
"consume_type": "api"
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1.4 返回格式
- 兼容 OpenAI Embeddings 响应,附加 provider 字段标示实际路由供应商
json
{
"model": "Qwen3-Embedding-0.6B",
"data": [
{ "object": "embedding", "embedding": [0.01, 0.02, 0.03], "index": 0 },
{ "object": "embedding", "embedding": [0.04, 0.05, 0.06], "index": 1 }
],
"usage": { "prompt_tokens": 45, "completion_tokens": 0, "total_tokens": 45 },
"provider": "某供应商A"
}1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
1.5 请求示例
Python(OpenAI SDK,非流式)
python
from openai import OpenAI
openai_client = OpenAI(
base_url="https://aiping.cn/api/v1",
api_key="<API_KEY>",
)
response = openai_client.embeddings.create(
model="Qwen3-Embedding-0.6B",
input=["这是一段文本", "第二段文本"],
extra_body={
"provider": {
"only": [],
"ignore": [],
"order": [],
"sort": ["throughput"],
"input_price_range": [],
"output_price_range": [],
"input_length_range": [],
"throughput_range": [],
"latency_range": []
},
"consume_type": "api"
},
)
print(response)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Python requests
python
import requests
import json
headers = {
"Authorization": "Bearer <API_KEY>",
"Content-Type": "application/json",
}
payload = {
"model": "Qwen3-Embedding-0.6B",
"input": ["这是一段文本", "第二段文本"],
"encoding_format": "float",
"extra_body": {
"provider": {
"only": [],
"ignore": [],
"order": [],
"sort": ["throughput"],
"input_price_range": [],
"output_price_range": [],
"input_length_range": [],
"throughput_range": [],
"latency_range": []
},
"consume_type": "api"
}
}
response = requests.post(
"https://aiping.cn/api/v1/embeddings",
headers=headers,
json=payload,
timeout=30
)
print(response.status_code)
print(json.dumps(response.json(), ensure_ascii=False, indent=2))1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
curl(非流式)
bash
curl -N -X POST https://aiping.cn/api/v1/embeddings \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen3-Embedding-0.6B",
"input": ["这是一段文本", "第二段文本"],
"extra_body": {
"provider": {
"only": [],
"ignore": [],
"order": [],
"sort": ["throughput"],
"input_price_range": [],
"output_price_range": [],
"input_length_range": [],
"throughput_range": [],
"latency_range": []
},
"consume_type": "api"
}
}'1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1.6 其他说明
- Embeddings 不支持流式
- 模型名大小写不敏感(服务端自动标准化);供应商名大小写敏感
- 响应的 usage 若下游未提供,服务端会基于请求内容估算输入 token 用于计费/统计