首页/AI/AI 应用速查/Embeddings 接口(/v1/embeddings)

Embeddings 接口(/v1/embeddings)

文本转向量:POST /v1/embeddings,body {model, input}(input 支持字符串数组),响应 data[].embedding 与输入顺序一致,是检索与聚类流水线的入口。

AI 应用速查AI更新于 2026-10-13

Embeddings 接口是什么

嵌入接口把文本转成向量:向 /v1/embeddings 发一个请求,请求体里给模型名与输入文本,返回每条输入对应的向量。输入既可以是单条字符串,也可以是字符串数组,批量处理能显著降低请求次数。接口本身很简单,工程重点在于批量大小、失败重试、用量统计,以及保证入库与查询用的是同一个模型。

基本信息

请求路径多数服务为 /v1/embeddings
方法POST,请求体为 JSON
核心字段模型名与输入内容,输入支持字符串或数组
返回结构每条输入对应一个向量及序号
维度由模型决定,部分模型支持指定降维
批量支持一次处理多条,单批条数与总长度上限见官方文档

请求与返回怎么读

字段含义注意
模型名指定使用的嵌入模型入库与查询必须一致
输入单条文本或文本数组数组顺序与返回序号对应
向量浮点数数组,长度即维度维度需与向量表定义匹配
序号该项在输入数组中的位置批量时用于对齐原文
用量本次消耗的 token 数用于成本统计与限流预估

典型使用场景

  • 知识库入库:把文档片段批量转成向量写入检索库
  • 在线查询:把用户问题向量化后做近邻检索
  • 文本聚类与去重:为大量短文本生成向量做分组
  • 推荐召回:为内容与用户画像生成向量做匹配
  • 语义校验:通过向量距离发现相似或重复内容

单条与批量调用

单条与批量调用
curl -s https://api.openai.com/v1/embeddings -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d '{"model":"text-embedding-3-small","input":"订单已发货"}'  # 单条
# 批量:把输入换成字符串数组,一次提交多条
# input 用数组时,返回条目的序号与输入下标一一对应
# 向量维度要与建表定义一致,改模型等于重建整张向量表

批量处理的注意事项

事项做法原因
单批条数按文档上限设置,留出余量超限请求会整体失败
文本长度超长片段先切分或截断超出上限的部分可能被忽略
失败重试对可恢复错误做退避重试批量写入常受限于速率
去重相同文本复用同一向量重复向量化纯属浪费
顺序对齐按返回序号回填原文与元数据顺序错位会造成数据错乱
向量化通常在入库阶段完成,属于离线批量任务:把速率控制与断点续跑做扎实,比追求单批更大更实用。
更换嵌入模型必须重建全部向量:新旧向量不在同一空间,混用会让检索结果变得毫无意义。

易错点

  • 单条循环调用做批量向量化:请求数暴涨,速率受限且耗时成倍增加
  • 入库与查询使用不同模型:向量空间不一致,检索结果近乎随机
  • 批量返回未按序号对齐:原文与向量错位,检索出来的内容对不上
  • 超长文本直接提交:超出上限的部分被忽略,关键信息没有进入向量

数据来源与参考

  • OpenAI Embeddings API 参考

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌