向量化教程
FoxAPI 支持文本向量和多模态向量模型,适用于语义搜索、文本分类、图文检索等场景。
可用模型
| 模型 | 类型 | 文本/M | 图片/M | 说明 |
|---|---|---|---|---|
| text-embedding-v4 | 文本向量 | ¥0.50 | - | 多语言文本向量,Qwen3训练 |
| qwen3-vl-embedding | 多模态向量 | ¥0.70 | ¥1.80 | 支持文本、图片、视频混合输入 |
文本向量
接口
POST https://foxapi.chat/v1/embeddings/text_embeddings
curl 示例
bash
curl -X POST https://foxapi.chat/v1/embeddings/text_embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的Key" \
-d '{
"model": "text-embedding-v4",
"input": {
"texts": [
"你觉得猪八戒和孙悟空谁最合适当统帅?",
"六耳猕猴到底是孙悟空的替身还是邪恶面?"
]
}
}'1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
Python 示例
python
import requests
response = requests.post(
"https://foxapi.chat/v1/embeddings/text_embeddings",
headers={
"Authorization": "Bearer sk-你的Key",
"Content-Type": "application/json"
},
json={
"model": "text-embedding-v4",
"input": {
"texts": ["文本1", "文本2"]
}
}
)
result = response.json()
for emb in result["output"]["embeddings"]:
print(f"文本{emb['text_index']}: 向量维度={len(emb['embedding'])}")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
响应示例
json
{
"output": {
"embeddings": [
{"embedding": [0.013, -0.056, 0.042, ...], "text_index": 0},
{"embedding": [0.059, -0.037, 0.041, ...], "text_index": 1}
]
},
"usage": {"total_tokens": 47},
"request_id": "5f07fb2b-xxx"
}1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
多模态向量
接口
POST https://foxapi.chat/v1/embeddings/multimodal_embeddings
注意:端点使用下划线 _,不是横杠 -。
curl 示例
bash
curl -X POST https://foxapi.chat/v1/embeddings/multimodal_embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的Key" \
-d '{
"model": "qwen3-vl-embedding",
"input": {
"contents": [
{"text": "猪八戒为什么会被打成猪胎?"},
{"image": "https://example.com/image.png"}
]
},
"parameters": {"enableFusion": true}
}'1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
Python 示例
python
import requests
response = requests.post(
"https://foxapi.chat/v1/embeddings/multimodal_embeddings",
headers={
"Authorization": "Bearer sk-你的Key",
"Content-Type": "application/json"
},
json={
"model": "qwen3-vl-embedding",
"input": {
"contents": [
{"text": "一段描述"},
{"image": "https://example.com/image.png"},
{"video": "https://example.com/video.mp4"}
]
},
"parameters": {"enableFusion": true}
}
)
result = response.json()
print(f"向量维度: {len(result['output']['embeddings'][0]['embedding'])}")1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
响应示例
json
{
"output": {
"embeddings": [
{"embedding": [-0.0006, -0.0029, ...], "index": 0, "type": "fusion"}
]
},
"usage": {"image_tokens": 1504, "input_tokens": 54, "total_tokens": 1558},
"request_id": "8881c603-xxx"
}1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
应用场景
文本向量
- 语义搜索:将文档和查询转为向量,通过余弦相似度匹配
- 文本分类:将文本转为向量后输入分类模型
- 聚类分析:对大量文本进行向量化后聚类
- 去重检测:计算文本间相似度,识别重复内容
多模态向量
- 图文检索:用文本搜索相关图片,或用图片搜索相关文本
- 视频理解:将视频内容转为向量,实现视频语义搜索
- 跨模态匹配:实现文本、图片、视频之间的语义对齐
常见问题
Q: 为什么不能用标准的 /v1/embeddings 端点?
FoxAPI 的 embedding 模型(text-embedding-v4 和 qwen3-vl-embedding)使用阿里云原生接口格式,与 OpenAI 标准格式不同,因此需要使用专用端点:
- 文本向量:
/v1/embeddings/text_embeddings - 多模态向量:
/v1/embeddings/multimodal_embeddings
Q: 向量维度是多少?
text-embedding-v4 支持 64-2048 维自定义,默认通常是 1024 维。qwen3-vl-embedding 默认 1024 维。
Q: 支持批量处理吗?
支持。text-embedding-v4 的 texts 数组可以传多个文本,qwen3-vl-embedding 的 contents 数组可以传多个内容。