跳转到内容

OpenAI 嵌入格式(Embeddings)

本页总览

官方文档

OpenAI Embeddings

获取给定输入文本的向量表示,这些向量可以被机器学习模型和算法轻松使用。相关指南请参阅 Embeddings Guide 。

需要注意的是:

  • 某些模型可能对输入的总 token 数有限制
  • 您可以使用 示例 Python 代码 来计算 token 数量
  • 例如:text-embedding-ada-002 模型的输出向量维度为 1536
curl https://4All API地址/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $4All API_API_KEY" \
-d '{
"input": "The food was delicious and the waiter...",
"model": "text-embedding-ada-002",
"encoding_format": "float"
}'

响应示例:

{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0023064255,
-0.009327292,
// ... (1536 个浮点数,用于 ada-002)
-0.0028842222
],
"index": 0
}
],
"model": "text-embedding-ada-002",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
curl https://4All API地址/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $4All API_API_KEY" \
-d '{
"input": ["The food was delicious", "The waiter was friendly"],
"model": "text-embedding-ada-002",
"encoding_format": "float"
}'

响应示例:

{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [
0.0023064255,
// ... (1536 个浮点数)
],
"index": 0
},
{
"object": "embedding",
"embedding": [
-0.008815289,
// ... (1536 个浮点数)
],
"index": 1
}
],
"model": "text-embedding-ada-002",
"usage": {
"prompt_tokens": 12,
"total_tokens": 12
}
}
POST /v1/embeddings

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

在请求头中包含以下内容进行 API 密钥认证:

Authorization: Bearer $4All API_API_KEY

其中 $OPENAI_API_KEY 是您的 API 密钥。

  • 类型:字符串或数组
  • 必需:是

要嵌入的输入文本,编码为字符串或 token 数组。要在单个请求中嵌入多个输入,请传递字符串数组或 token 数组的数组。输入不得超过模型的最大输入 token 数(text-embedding-ada-002 为 8192 个 token),不能为空字符串,任何数组的维度必须小于等于 2048。

  • 类型:字符串
  • 必需:是

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

  • 类型:字符串
  • 必需:否
  • 默认值:float

返回嵌入的格式。可以是 float 或 base64。

  • 类型:整数
  • 必需:否

生成的输出嵌入应具有的维度数。仅在 text-embedding-3 及更高版本的模型中支持。

  • 类型:字符串
  • 必需:否

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

返回嵌入对象列表。

  • 类型:字符串
  • 说明:对象类型,值为 “list”
  • 类型:数组
  • 说明:包含嵌入对象的数组
  • 属性:
  • object : 对象类型,值为 “embedding”
  • embedding : 嵌入向量,浮点数列表。向量长度取决于模型
  • index : 嵌入在列表中的索引
  • 类型:字符串
  • 说明:使用的模型名称
  • 类型:对象
  • 说明:token 使用统计
  • 属性:
  • prompt_tokens : 提示使用的 token 数
  • total_tokens : 总 token 数

表示由嵌入端点返回的嵌入向量。

{
"object": "embedding",
"embedding": [
0.0023064255,
-0.009327292,
// ... (ada-002 总共 1536 个浮点数)
-0.0028842222
],
"index": 0
}
  • 类型:整数
  • 说明:嵌入在列表中的索引
  • 类型:数组
  • 说明:嵌入向量,浮点数列表。向量长度取决于模型,具体请参阅嵌入指南
  • 类型:字符串
  • 说明:对象类型,始终为 “embedding”

当请求出现问题时,API 将返回一个错误响应对象,HTTP 状态码在 4XX-5XX 范围内。

  • 401 Unauthorized : API 密钥无效或未提供
  • 400 Bad Request : 请求参数无效,例如输入为空或超出 token 限制
  • 429 Too Many Requests : 超出 API 调用限制
  • 500 Internal Server Error : 服务器内部错误

错误响应示例:

{
"error": {
"message": "The input exceeds the maximum length. Please reduce the length of your input.",
"type": "invalid_request_error",
"param": "input",
"code": "context_length_exceeded"
}
}