88API88API
使用指南AI 應用API 文件幫助支援
嵌入(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"
  }
}