跳转到主要内容
Embeddings API 把文本转成向量,请求与响应格式与 OpenAI Embeddings API 相同,可以直接使用 OpenAI SDK。

可用模型

2026 年 9 月 29 日公开价格配置中,以下模型标注了 Embeddings 端点,价格按每 1M tokens 计,以模型与价格总表为准: 维度的补充说明:
  • OpenAI 模型的维度来自 OpenAI 向量指南。
  • 只有 text-embedding-3-small 和 text-embedding-3-large 可以用 dimensions 参数缩短向量,例如在请求体中加入 "dimensions": 512。
  • text-embedding-ada-002 固定输出 1536 维。
  • 阿里巴巴模型的默认维度和可选维度以阿里云百炼文档为准。
以上模型只接受文本输入,不能直接生成图片向量:
  • 需要按内容检索图片时,先用视觉理解模型把图片描述成文字,再对描述做嵌入。
  • 不要把 Base64 图片当作 input 字符串传入。接口会返回向量,但它只代表这串字符,不代表图片内容。

发送请求

在令牌管理创建 API Key,写入环境变量;使用 Python 示例时,先执行 python -m pip install openai。
input 可以是单个字符串,也可以是字符串数组。下面一次提交两段文本:
安装 jq 后,可以按 index 查看每条向量的维度:
Python 示例显式指定 encoding_format="float",与 cURL 默认返回的浮点数组一致。text-embedding-3-small 的两条结果都应是 1536 维。

读取响应

响应的关键字段如下,示例把向量截短为 3 个数,实际长度等于模型维度:
data[i].index 对应 input 数组中的位置。批量请求时先按 index 排序,再与原文配对存储,不要依赖 data 的排列顺序。实际扣费以调用日志为准。

使用注意

  • 不同模型、或同一模型不同维度生成的向量,不能放在同一个索引里比较;更换模型或维度后,要重新生成全部向量。
  • 单次请求的条数和单条文本长度有上限,以厂商文档为准;数据量大时分批发送,每批都按 index 还原顺序。
  • OpenAI 的向量已归一化为长度 1,余弦相似度可以直接用点积计算。

相关文档