跳到正文

Create an Embedding ​

错误排查

调用过程中遇到错误?请参阅 API 错误码参考 获取完整的错误类型说明与排查方案。

http
POST https://openqiao.com/api/v1/embeddings

Create an Embedding 接口兼容 OpenAI 的 Create an Embedding 接口,用于将输入文本转换为向量表示(embedding)。

Request headers ​

Authorization string * ​

Bearer Token 鉴权

Content-Type string * ​

请求内容类型,默认值为 application/json

Request ​

input string or array * ​

要生成 embedding 的输入文本,可以是字符串或字符串数组。如需在单个请求中嵌入多个输入,请传递字符串数组。

支持的输入类型:

  • string — 将被转化为 embedding 的文本字符串
  • array of strings — 将被转化为 embedding 的文本字符串数组
  • array of integers — 将被转化为 embedding 的 token 整数数组
  • array of integer arrays — 将被转化为 embedding 的 token 整数二维数组

输入限制

  • 单个输入不能超过模型的最大输入 token 数(例如 text-embedding-3 系列为 8192 tokens)
  • 输入不能为空字符串
  • 数组长度不能超过 2048
  • 单次请求中所有输入的 token 总数不能超过 300,000

model string * ​

要使用的模型 ID,格式为 <供应商>/<模型名称>。

当前支持的 embedding 模型:

  • openai/text-embedding-3-large — 高精度 embedding 模型,输出维度 3072
  • openai/text-embedding-3-small — 高效 embedding 模型,输出维度 1536

encoding_format string 可选 ​

返回 embedding 的编码格式。

  • float — 以浮点数数组形式返回(默认)
  • base64 — 以 Base64 编码字符串形式返回

dimensions integer 可选 ​

输出 embedding 的维度数。仅 text-embedding-3 及更新模型支持。

通过指定较小的维度,可以在不显著损失语义表达能力的前提下缩短 embedding 向量,这样降低存储和检索成本。

user string 可选 ​

代表终端用户的唯一标识符,可帮助监控和检测滥用行为。

Response ​

返回一个包含 embedding 向量列表的 JSON 对象。

object string ​

对象类型,固定为 list。

data array ​

embedding 对象数组,每个元素对应一个输入文本的 embedding 结果。

data 对象 ​

object string ​

对象类型,固定为 embedding。

embedding array of float ​

embedding 向量,由浮点数列表组成。向量长度取决于所使用的模型及 dimensions 参数。

index integer ​

该 embedding 在输入列表中对应的索引位置。

model string ​

生成 embedding 所使用的模型名称。

usage object ​

本次请求的 token 用量信息。

  • prompt_tokens integer — 输入消耗的 token 数
  • total_tokens integer — 总消耗 token 数
TypeScript
import OpenAI from "openai";

const openai = new OpenAI({
  baseURL: 'https://openqiao.com/api/v1', 
  apiKey: '<OPENQIAO_API_KEY>', 
});

async function main() {
  const embedding = await openai.embeddings.create({
    model: "openai/text-embedding-3-small",
    input: "开桥 is an LLM API aggregation service.",
    encoding_format: "float",
  });

  console.log(embedding.data[0].embedding);
}

main();
Python
from openai import OpenAI

client = OpenAI(
    base_url="https://openqiao.com/api/v1",  
    api_key="<your_OPENQIAO_API_KEY>",  
)

embedding = client.embeddings.create(
    model="openai/text-embedding-3-small",
    input="开桥 is an LLM API aggregation service.",
    encoding_format="float",
)

print(embedding.data[0].embedding)
cURL
curl https://openqiao.com/api/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENQIAO_API_KEY" \
  -d '{
    "model": "openai/text-embedding-3-small",
    "input": "开桥 is an LLM API aggregation service.",
    "encoding_format": "float"
  }'
json
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255, -0.009327292, -0.0028842222, 0.018182484, -0.012395813,
        0.0073498537, -0.020456877, 0.0118837105, 0.015375832, -0.0036487724
      ],
      "index": 0
    }
  ],
  "model": "openai/text-embedding-3-small",
  "usage": {
    "prompt_tokens": 9,
    "total_tokens": 9
  }
}
Create an Embedding
Python
from openai import OpenAI

client = OpenAI(
    base_url="https://openqiao.com/api/v1",  
    api_key="<your_OPENQIAO_API_KEY>",  
)

embedding = client.embeddings.create(
    model="openai/text-embedding-3-small",
    input="开桥 is an LLM API aggregation service.",
    encoding_format="float",
)

print(embedding.data[0].embedding)
Response
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255, -0.009327292, -0.0028842222, 0.018182484, -0.012395813,
        0.0073498537, -0.020456877, 0.0118837105, 0.015375832, -0.0036487724
      ],
      "index": 0
    }
  ],
  "model": "openai/text-embedding-3-small",
  "usage": {
    "prompt_tokens": 9,
    "total_tokens": 9
  }
}