Embeddings

获取给定输入的向量表示形式,机器学习模型和算法可以轻松使用该向量表示形式。 相关指南:Embeddingssource

创建嵌入

POST https://api.openai.com/v1/embeddings

创建表示输入文本的嵌入向量。source

请求正文

输入要嵌入的文本,编码为字符串或标记数组。若要在单个请求中嵌入多个输入,请传递字符串数组或令牌数组数组。输入不得超过模型的最大输入令牌数(8192 个令牌text-embedding-ada-002),不能为空字符串,并且任何数组都必须是 2048 维或更小。用于对令牌进行计数的 Python 代码示例source

要使用的模型的 ID。您可以使用 List models API 查看所有可用模型,或查看我们的 Model overview 了解它们的描述。source

要返回嵌入向量的格式。可以是floatbase64.source

生成的输出嵌入应具有的维度数。仅在 中受支持text-embedding-3和后来的模型。source

代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。了解更多source

返回

Embeddings对象的列表。source

示例请求
1
2
3
4
5
6
7
8
curl https://api.openai.com/v1/embeddings \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "The food was delicious and the waiter...",
    "model": "text-embedding-ada-002",
    "encoding_format": "float"
  }'
响应
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... (1536 floats total for ada-002)
        -0.0028842222,
      ],
      "index": 0
    }
  ],
  "model": "text-embedding-ada-002",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}

嵌入对象

表示 embedding endpoint 返回的嵌入向量。source

嵌入列表中嵌入的索引。source

嵌入向量,它是一个浮点数列表。向量的长度取决于嵌入指南中列出的模型。source

对象类型,始终为 “embedding”。source

OBJECT 嵌入对象
1
2
3
4
5
6
7
8
9
10
{
  "object": "embedding",
  "embedding": [
    0.0023064255,
    -0.009327292,
    .... (1536 floats total for ada-002)
    -0.0028842222,
  ],
  "index": 0
}