ModelSite

向量嵌入

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

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

下面示例里的模型名是示例——开工前先查 GET /v1/models,确认有没有能力包含 embedding 的模型(见模型列表)。

示例

from openai import OpenAI
client = OpenAI(base_url="https://api.modelsite.ai/v1", api_key="ms_live_sk_xxx")

resp = client.embeddings.create(
model="bge-m3",
input=["The quick brown fox", "jumps over the lazy dog"],
)
for d in resp.data:
print(d.index, len(d.embedding))

请求参数

字段类型说明
modelstring必填
inputstring | string[]必填——单条字符串或批量字符串数组
encoding_formatstringfloat(默认)或 base64
dimensionsinteger期望的输出向量维度;具体模型是否支持视厂商而定
userstring终端用户标识(不透明字符串),厂商支持时会透传

部分需要的厂商专属字段也接受写在请求体顶层:task_type + title(Vertex AI——如 RETRIEVAL_QUERY / RETRIEVAL_DOCUMENT)、input_type(部分 Bedrock 多模态模型——text / image / video / audio)。其他厂商专属参数放 extra_body,跟 Chat Completions 的约定一致。

响应

{
  "object": "list",
  "model": "bge-m3",
  "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

On this page