ModelSiteAPI

向量嵌入

POST /v1/embeddings — 兼容 OpenAI 的文本向量接口

/v1/embeddings 兼容 OpenAI 格式,走跟对话相同的路由/计费流程——它有自己独立的限流器(跟 chat/completions 分开),embedding 流量不会跟对话流量抢 RPM/TPM 额度。

目前平台尚未上线任何向量(embedding)模型:/v1/embeddings 端点已就绪,但现在传任何 model 都会得到 400(unknown model)。待有向量模型上线后,以 GET /v1/models 返回的 ID 为准(见模型列表)。因为没有可调用的模型,本页没有任何可运行的示例,下面的内容是接口约定。

场景总览

场景划分参照 OpenAI 官方 Embeddings 指南。

场景官方是否提供我们的情况示例入口
单条文本向量(input 为字符串)是未接入:没有已上线的向量模型—
批量文本向量(input 为字符串数组)是未接入:同上—
指定维度(dimensions)是未接入:同上;参数会转发给上游—
base64 编码输出(encoding_format)是未接入:同上;是否生效取决于上游—
Token 数组输入(input 为整数数组)是未接入:同上;部分上游只读字符串,数组里的非字符串元素会被丢弃—
多模态向量(图片、音频、视频输入)否(OpenAI 官方无)未接入:同上;平台对个别上游定义了专用字段,见下—

以上场景都没有真实调用验证:本次文档核对时没有向量模型可调用,下面各节的内容依据代码,不是实测结果。

请求参数

字段类型说明
modelstring必填
inputstring | string[]必填——单条字符串或批量字符串数组
encoding_formatstringfloat(默认)或 base64
dimensionsinteger期望的输出向量维度;具体模型是否支持视上游而定,不支持时由上游决定忽略还是报错
userstring终端用户标识。平台接受但不会转发给任何上游

部分上游专用字段也接受写在请求体顶层:task_type + title(检索类向量任务的类型与标题)、input_type(部分多模态模型的输入类型:text / image / video / audio)、output_s3_uri(异步输出位置)。其他上游专用参数只能写在请求体里名为 extra_body 的对象中(curl 里就是字面的 "extra_body": {...}),而且只有部分上游会读取。OpenAI Python / Node SDK 的 extra_body= 参数会把内容展开到请求体顶层,本端点会丢弃这些未知的顶层字段,所以与 Chat Completions 的用法不同。

响应

响应格式依 OpenAI 官方文档(未实测):

{
  "object": "list",
  "model": "<embedding-model-id>",
  "data": [
    { "object": "embedding", "index": 0, "embedding": [0.0023, -0.009, "…"] },
    { "object": "embedding", "index": 1, "embedding": [0.0041, 0.002, "…"] }
  ],
  "usage": { "prompt_tokens": 12, "total_tokens": 12 }
}

embedding 默认是浮点数组,encoding_format: "base64" 时是 base64 编码字符串。计费维度跟对话一样走 input_token。

错误

没有向量模型时,传任何 model 都会得到下面的 400(依代码,未实测);密钥无效(401)、余额不足(402)、限流(429)的错误体与 Chat Completions 相同。

{"error":{"type":"invalid_request_error","message":"unknown model: <embedding-model-id>"}}

完整错误码与处理建议见 错误码。

不支持或有差异的参数

向量端点没有「未知字段透传」:请求体里平台没有定义的顶层字段会被丢弃。(这与 Chat Completions 不同;平台不会按参数清单丢弃已定义的参数,已定义的参数交给上游处理。)

参数行为说明
input部分支持字符串或字符串数组。部分上游原样转发 input;另一部分上游只读字符串,数组里不是字符串的元素(token 数组、图片、多模态内容块)会被丢弃
encoding_format部分支持部分上游转发该字段;有的上游只识别 base64;有的上游忽略该字段,始终返回浮点数组
dimensions部分支持转发给上游;个别上游会换成它自己的参数名
user不转发接受但不会发给任何上游
messages、continue_final_message、add_special_tokens接受但忽略个别开源向量服务的 chat-embeddings 方言字段,为兼容 Dify 等客户端而接受,不读取也不转发
extra_body部分支持只有部分上游会合并,其他上游忽略

平台扩展

  • task_type、title、input_type、output_s3_uri 是平台在顶层接受的上游专用字段,见上方说明。
  • 响应的 usage.prompt_tokens_details(text_tokens、image_tokens、audio_tokens、video_tokens):多模态向量模型有分模态用量时出现,其余模型没有。
  • 响应头 X-Request-ID;429 带 Retry-After。向量端点有独立的限流器。
  • 平台没有为本端点单独定义的请求头或费用字段。

本页内容