创建 Embeddings 请求导读

Embeddings 解决的是检索、相似度、聚类和索引,不是生成。先把用途分清,很多误用就会自然消失。

POST/v1/embeddings

embeddings 接口最容易被误用成“另一种生成 API”。实际上它的职责更底层: 把文本映射成向量,用于检索、RAG、去重、相似度和聚类。你要先分清 检索任务 生成任务,接口选择才不会错。

最值得先看的参数

NameTypeRequiredDescription
model
stringRequiredembeddings 模型标识。不要直接沿用选择生成模型的方式来选它。
input
string | string[]Required单条或批量输入。批量时返回顺序会和输入顺序对应。
encoding_format
string向量编码格式。对接下游向量库时要确认格式要求。
dimensions
integer目标维度。只有部分模型支持缩维,不要默认每个模型都能改。
user
string可选归因字段。适合做内部追踪,不是业务主键。

最小请求

bash
curl -X POST https://api.therouter.ai/v1/embeddings \
  -H "Authorization: Bearer $THEROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/text-embedding-3-small",
    "input": [
      "incident postmortem",
      "deploy rollback checklist"
    ]
  }'
批量输入的关键语义
批量 embeddings 的返回顺序会对应输入顺序。这意味着你应该把索引、原始文本和返回向量一起保存, 不要假设下游系统会替你自动做正确映射。

什么时候它是正确选择

  • 你在做检索、RAG、相似度搜索或文档聚类。
  • 你需要把文本内容映射成可检索向量,而不是直接生成回答。
  • 你想把上游 OpenAI-compatible embeddings 调用迁到统一路由层。

最容易犯的错

text
1. 用 embeddings 接口做生成任务。
2. 批量输入后没有保留输入顺序映射。
3. 直接沿用选择生成模型的方式去选 embeddings 模型。
4. dimensions 改了,却没确认下游索引结构是否同步更新。

下一步