把文本转换成数值向量,用于语义搜索、相似度计算、聚类等场景。
Embeddings(向量嵌入) 把一段文本映射为高维数值向量(一串浮点数)。语义相近的文本,向量距离也近。
有什么用:知识库语义搜索(RAG)、文本相似度比对、去重、聚类、推荐系统。
| 项目 | 值 |
|---|---|
| 请求方法 | POST |
| 请求路径 | https://103.236.87.35/v1/embeddings |
| 请求头 | Authorization: Bearer <你的密钥>Content-Type: application/json |
| 是否需要鉴权 | 必需 |
| 是否计费 | 按 Token 计费 |
兼容旧版路径:https://103.236.87.35/v1/engines/{engine}/embeddings
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
model | string | 是 | - | 嵌入模型名称,如 text-embedding-3-small(以实际可用模型为准) |
input | string/array | 是 | - | 要嵌入的文本。传字符串为单条;传字符串数组可一次嵌入多条 |
encoding_format | string | 否 | float | 返回格式:float(浮点数组)或 base64(压缩编码) |
user | string | 否 | - | 终端用户标识 |
curl https://103.236.87.35/v1/embeddings \
-H "Authorization: Bearer <你的密钥>" \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": "今天天气真不错"
}'
from openai import OpenAI
client = OpenAI(api_key="<你的密钥>", base_url="https://103.236.87.35/v1")
resp = client.embeddings.create(
model="text-embedding-3-small",
input=["今天天气真不错", "明天会下雨吗"],
)
for i, item in enumerate(resp.data):
print(f"第{i+1}条向量维度:", len(item.embedding))
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [-0.0113425, 0.0210391, 0.0084327, ...]
}
],
"model": "text-embedding-3-small",
"usage": {"prompt_tokens": 8, "total_tokens": 8}
}
| 字段名 | 类型 | 说明 |
|---|---|---|
data[].embedding | array | 文本的向量,浮点数数组(维度由模型决定) |
data[].index | integer | 对应输入数组的下标 |
usage.prompt_tokens | integer | 输入 token 数(计费依据) |
相似度计算:两条向量的余弦相似度越高,文本语义越接近。