嵌入(Embeddings)
OpenAI 嵌入格式(Embeddings)
📝 簡介
獲取給定輸入文字的向量表示,這些向量可以被機器學習模型和演算法輕鬆使用。相關指南請參閱 Embeddings Guide。
需要注意的是:
-
某些模型可能對輸入的總 token 數有限制
-
您可以使用示例 Python 程式碼來計算 token 數量
-
例如:text-embedding-ada-002 模型的輸出向量維度為 1536
💡 請求示例
建立文字嵌入 ✅
curl https://88api.ai/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $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://88api.ai/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $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 $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"
}
}