📝 简介¶
获取给定输入文本的向量表示,这些向量可以被机器学习模型和算法轻松使用。相关指南请参阅 Embeddings Guide。
需要注意的是:
某些模型可能对输入的总 token 数有限制
您可以使用示例 Python 代码来计算 token 数量
例如:text-embedding-ada-002 模型的输出向量维度为 1536
💡 请求示例¶
创建文本嵌入 ✅¶
curl https://地址/v1/embeddings \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $NEWAPI_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://地址/v1/embeddings \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $NEWAPI_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 $NEWAPI_API_KEY
其中 $OPENAI_API_KEY
是您的 API 密钥。
请求体参数¶
input
¶
类型:字符串或数组
必需:是
要嵌入的输入文本,编码为字符串或 token 数组。要在单个请求中嵌入多个输入,请传递字符串数组或 token 数组的数组。输入不得超过模型的最大输入 token 数(text-embedding-ada-002 为 8192 个 token),不能为空字符串,任何数组的维度必须小于等于 2048。
model
¶
类型:字符串
必需:是
要使用的模型 ID。您可以使用 List models API 查看所有可用模型,或查看模型概述了解它们的描述。
encoding_format
¶
类型:字符串
必需:否
默认值:float
返回嵌入的格式。可以是 float 或 base64。
dimensions
¶
类型:整数
必需:否
生成的输出嵌入应具有的维度数。仅在 text-embedding-3 及更高版本的模型中支持。
user
¶
类型:字符串
必需:否
代表您的最终用户的唯一标识符,可以帮助 OpenAI 监控和检测滥用行为。了解更多。
📥 响应¶
成功响应¶
返回嵌入对象列表。
object
¶
类型:字符串
说明:对象类型,值为 "list"
data
¶
类型:数组
说明:包含嵌入对象的数组
属性:
object
: 对象类型,值为 "embedding"embedding
: 嵌入向量,浮点数列表。向量长度取决于模型index
: 嵌入在列表中的索引
model
¶
类型:字符串
说明:使用的模型名称
usage
¶
类型:对象
说明:token 使用统计
属性:
prompt_tokens
: 提示使用的 token 数total_tokens
: 总 token 数
嵌入对象¶
表示由嵌入端点返回的嵌入向量。
{ "object": "embedding", "embedding": [ 0.0023064255, -0.009327292, // ... (ada-002 总共 1536 个浮点数) -0.0028842222 ], "index": 0}
index
¶
类型:整数
说明:嵌入在列表中的索引
embedding
¶
类型:数组
说明:嵌入向量,浮点数列表。向量长度取决于模型,具体请参阅嵌入指南
object
¶
类型:字符串
说明:对象类型,始终为 "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" }}