嵌入 Embeddings

OpenAI 格式
官方文档 
 
 OpenAI Embeddings 
 
 📝 简介 
 获取给定输入文本的向量表示，这些向量可以被机器学习模型和算法轻松使用。相关指南请参阅 Embeddings Guide 。 
 需要注意的是: 
 
 
 某些模型可能对输入的总 token 数有限制 
 
 
 您可以使用 示例 Python 代码 来计算 token 数量 
 
 
 例如：text-embedding-ada-002 模型的输出向量维度为 1536 
 
 
 💡 请求示例 
 创建文本嵌入 ✅ 
 curl https://$Burncloud_API_BaseUrl/v1/embeddings \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer $Burncloud_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://$Burncloud_API_BaseUrl/v1/embeddings \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer $Burncloud_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 $Burncloud_API_KEY
 
 其中 $Burncloud_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"
 }
}