Embedding API 把文本转成向量,用于语义搜索、RAG、聚类、去重和推荐。它不生成文字,但几乎是所有知识库应用的底层能力。

本文讲清楚 Embedding API 怎么调用、怎么选模型、怎么做成本和效果评估。

说明:不同厂商的 embedding 模型接口和维度不同,本文以 OpenAI 兼容接口为例,具体以官方/站内文档为准。

一、Embedding 能做什么

  • 语义搜索:按意思找内容,而不是关键词匹配。
  • RAG:把文档切块、向量化,检索后再交给大模型回答。
  • 聚类/分类:把相似文本分组。
  • 去重:找重复/近似内容。
  • 推荐:找相似文章/商品。

二、调用方式

OpenAI 兼容接口通常是:

POST /v1/embeddings

请求:

{
  "model": "text-embedding-3-small",
  "input": ["第一段文本", "第二段文本"]
}

返回每个文本的向量。模型名和维度以 模型价格 为准。

三、Python 示例

from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",
    base_url="https://ai.zhongshangqihang.com/v1",
)

resp = client.embeddings.create(
    model="text-embedding-3-small",
    input=["什么是 API 网关", "API Gateway 是什么"],
)
print(len(resp.data[0].embedding))

四、RAG 的基本流程

  1. 文档清洗、切块(按段落/标题)。
  2. 对每个块调用 Embedding。
  3. 存入向量数据库(pgvector、Milvus、Qdrant 等)。
  4. 用户提问时,把问题也向量化。
  5. 检索最相似的块。
  6. 把检索结果和问题一起交给大模型。

注意:切块大小、重叠、元数据(来源/权限)会直接影响效果。

五、怎么选模型

指标 要确认什么
维度 维度越高不一定越好,成本和存储也越高
语言 中文/多语言效果
最大输入 单块文本长度
价格 按 Token 计费
一致性 换模型后旧向量不能混用
部署 是否支持私有化/数据合规

六、成本怎么算

月成本 =
  文档总 Token × 单价
+ 查询 Token × 单价
+ 向量存储/带宽

文档向量化通常是一次性成本,查询是持续成本。换模型要重新向量化全库,成本要提前算。

七、常见坑

  • 换 embedding 模型后,新旧向量混用导致检索错乱。
  • 切块太大,检索不精准;太小,丢上下文。
  • 没有存来源/权限,回答无法追溯。
  • 只做向量检索,不做关键词混合,召回不稳定。
  • 忽略多语言效果。

常见问题

Embedding 和大模型有什么区别?

Embedding 输出向量,用于检索/聚类;大模型输出文本,用于生成/推理。

可以本地部署吗?

可以,开源 embedding 模型可私有化部署,但需要 GPU/运维。

一个 Key 能同时调 embedding 和聊天吗?

在网关里通常可以,模型在请求参数里指定。

下一步

需要统一入口、按量计费和多种模型,可以先 注册中商起航 AI 网关,小额测试 embedding 和聊天模型。模型和价格以 模型价格 为准。

相关阅读: