向量化
2026/7/28大约 2 分钟
向量化
向量化接口将文本转换为高维向量表示,广泛应用于语义搜索、文本聚类、推荐系统等场景。
接口信息
| 属性 | 值 |
|---|---|
| 基础 URL | https://api.quickapi.store |
| 端点 | POST /v1/embeddings |
| Content-Type | application/json |
| 认证方式 | Bearer Token |
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型名称:text-embedding-3-small、text-embedding-3-large、text-embedding-ada-002 |
input | string / array | 是 | 待向量化的文本,可以是字符串或字符串数组 |
encoding_format | string | 否 | 编码格式:float、base64,默认 float |
dimensions | integer | 否 | 输出向量维度(仅 text-embedding-3 系列支持) |
支持的模型
| 模型 | 最大维度 | 说明 |
|---|---|---|
text-embedding-3-small | 1536 | 高性价比,适合大多数场景 |
text-embedding-3-large | 3072 | 最高精度,适合对语义要求高的场景 |
text-embedding-ada-002 | 1536 | 上一代模型,兼容性好 |
示例
单文本向量化
curl https://api.quickapi.store/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $YOUR_API_KEY" \
-d '{
"model": "text-embedding-3-small",
"input": "今天天气真好,适合出去散步"
}'批量文本向量化
curl https://api.quickapi.store/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $YOUR_API_KEY" \
-d '{
"model": "text-embedding-3-small",
"input": [
"机器学习是人工智能的一个分支",
"深度学习使用多层神经网络",
"自然语言处理让计算机理解人类语言",
"计算机视觉让机器看懂世界"
]
}'指定维度
curl https://api.quickapi.store/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $YOUR_API_KEY" \
-d '{
"model": "text-embedding-3-large",
"input": "如何在 Python 中实现一个简单的 Web 服务器",
"dimensions": 256
}'响应示例
{
"object": "list",
"model": "text-embedding-3-small",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [
0.0023064255,
-0.009327321,
0.015792489,
-0.007674811,
0.008525297,
"..."
]
}
],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}Python 示例
from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="https://api.quickapi.store/v1"
)
# 单文本向量化
response = client.embeddings.create(
model="text-embedding-3-small",
input="今天天气真好,适合出去散步"
)
embedding = response.data[0].embedding
print(f"向量维度: {len(embedding)}")
print(f"前5个值: {embedding[:5]}")
# 批量向量化
response = client.embeddings.create(
model="text-embedding-3-small",
input=[
"机器学习是人工智能的一个分支",
"深度学习使用多层神经网络",
"自然语言处理让计算机理解人类语言"
]
)
for i, item in enumerate(response.data):
print(f"文本 {i}: 维度 {len(item.embedding)}")
# 使用余弦相似度计算文本相似度
import numpy as np
def cosine_similarity(a, b):
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
vec1 = response.data[0].embedding
vec2 = response.data[1].embedding
similarity = cosine_similarity(vec1, vec2)
print(f"文本1和文本2的相似度: {similarity:.4f}")提示
text-embedding-3-small 在大多数场景下性价比最高;如果对语义精度要求极高,建议使用 text-embedding-3-large。
注意
dimensions 参数仅支持 text-embedding-3 系列模型,text-embedding-ada-002 不支持维度缩减。降低维度会损失部分语义信息,请根据实际需求权衡。

