零度API 文档
POST

创建嵌入

POST /v1/embeddings — 获取文本向量表示

创建嵌入

获取给定文本的向量表示,可用于语义相似度计算、RAG 检索增强生成等场景。

POST https://api000.com/v1/embeddings

请求参数

参数 类型 必填 说明
model string 必填 嵌入模型 ID,例如 text-embedding-3-small
input stringarray 必填 要嵌入的文本或文本数组(最多 2048 个字符串)
encoding_format string 可选 "float"(默认)或 "base64"
dimensions integer 可选 输出向量维度(仅 text-embedding-3 系列支持缩减)

请求示例

cURL

curl https://api000.com/v1/embeddings \
  -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "零度API 提供高性价比的 AI 服务"
  }'

Python

from openai import OpenAI

client = OpenAI(
    base_url="https://api000.com/v1",
    api_key="sk-xxxxxxxxxxxxxxxx"
)

# 单条文本嵌入
response = client.embeddings.create(
    model="text-embedding-3-small",
    input="零度API 提供高性价比的 AI 服务"
)
vector = response.data[0].embedding
print(f"向量维度: {len(vector)}")  # 1536

# 批量嵌入
texts = ["苹果", "橘子", "汽车"]
response = client.embeddings.create(
    model="text-embedding-3-small",
    input=texts
)
vectors = [d.embedding for d in response.data]

Python — 计算余弦相似度

import numpy as np
from openai import OpenAI

client = OpenAI(base_url="https://api000.com/v1", api_key="sk-xxx")

def get_embedding(text):
    r = client.embeddings.create(model="text-embedding-3-small", input=text)
    return np.array(r.data[0].embedding)

def cosine_similarity(a, b):
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

query = get_embedding("人工智能")
doc1 = get_embedding("机器学习和深度学习")
doc2 = get_embedding("汽车驾驶技术")

print(f"与doc1相似度: {cosine_similarity(query, doc1):.4f}")  # 高
print(f"与doc2相似度: {cosine_similarity(query, doc2):.4f}")  # 低

响应示例

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [0.002306, -0.009327, 0.015412, "...共1536个浮点数"],
      "index": 0
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 12,
    "total_tokens": 12
  }
}

可用嵌入模型

模型 ID 向量维度 特点
text-embedding-3-small 1536 低成本,速度快
text-embedding-3-large 3072 精度更高,适合生产环境
text-embedding-ada-002 1536 经典版本,兼容旧系统
bge-m3 1024 多语言,中文效果优秀
bge-large-zh-v1.5 1024 中文专项优化

在 RAG 中的应用

# 典型 RAG 流程
documents = [
    "零度API 支持 OpenAI 兼容格式",
    "可以通过 api000.com 访问所有服务",
    "支持 GPT、Claude、Gemini 等多种模型",
]

# 1. 将知识库转为向量
doc_embeddings = [
    get_embedding(doc) for doc in documents
]

# 2. 用户查询转为向量
query_embedding = get_embedding("如何访问零度API?")

# 3. 找到最相似的文档
similarities = [
    cosine_similarity(query_embedding, doc_emb)
    for doc_emb in doc_embeddings
]
best_idx = np.argmax(similarities)
print(f"最相关文档: {documents[best_idx]}")
零度API 文档