OpenAI标准 API

Embeddings 文本嵌入

OpenAI 格式的 Embeddings API 使用方法

接口概述

Embeddings API 用于将文本转换为向量表示,适用于语义搜索、文本相似度计算、推荐系统等场景。

基本信息

项目内容
接口地址POST /v1/embeddings
认证方式Bearer Token
内容类型application/json

请求头

Content-Type: application/json
Authorization: Bearer sk-your-api-key

请求参数

完整参数列表

{
  "model": "text-embedding-3-small",
  "input": "The food was delicious and the waiter...",
  "encoding_format": "float",
  "dimensions": 1536
}

参数详细说明

参数名类型必填默认值说明
modelstring-使用的嵌入模型
inputstring/array-要嵌入的文本,可以是字符串或字符串数组
encoding_formatstringfloat编码格式:float 或 base64
dimensionsinteger模型默认输出向量的维度

支持的嵌入模型

模型维度说明
text-embedding-3-small1536小型模型,性价比高
text-embedding-3-large3072大型模型,效果更好
text-embedding-ada-0021536旧版模型

响应格式

成功响应

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255,
        -0.009327292,
        -0.0028842222
      ],
      "index": 0
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}

响应字段说明

字段说明
data嵌入向量列表
data[].embedding向量数组
data[].index对应输入的索引
model使用的模型
usage.prompt_tokens输入 token 数
usage.total_tokens总 token 数

代码示例

cURL

curl -X POST "{BASE_URL}/v1/embeddings" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-your-api-key" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "Hello, world!"
  }'

Python

from openai import OpenAI

client = OpenAI(
    api_key="sk-your-api-key",
    base_url="{BASE_URL}/v1"
)

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="Hello, world!"
)

print(response.data[0].embedding)

Node.js

import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: 'sk-your-api-key',
  baseURL: '{BASE_URL}/v1',
});

async function main() {
  const response = await openai.embeddings.create({
    model: 'text-embedding-3-small',
    input: 'Hello, world!',
  });

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

main();

相关文档