跳轉到主要內容
POST
/
v1
/
embeddings
from openai import OpenAI

client = OpenAI(
    base_url="https://api.cometapi.com/v1",
    api_key="<COMETAPI_KEY>",
)

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="The food was delicious and the waiter was friendly.",
)

print(response.data[0].embedding[:5])  # First 5 dimensions
print(f"Dimensions: {len(response.data[0].embedding)}")
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [
        -0.0021,
        -0.0491,
        0.0209,
        0.0314,
        -0.0453
      ]
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 2,
    "total_tokens": 2
  }
}

概覽

嵌入 API 會產生可捕捉語意的文字向量表示。這些向量可用於語意搜尋、分群、分類、異常偵測,以及擷取增強生成(RAG)。 CometAPI 支援來自多個供應商的嵌入模型。傳入一個或多個文字字串後,會回傳數值向量,您可以將其儲存在向量資料庫中,或直接用於相似度計算。

可用模型

ModelDimensionsMax TokensBest For
text-embedding-3-large3,072(可調整)8,191最高品質的嵌入
text-embedding-3-small1,536(可調整)8,191具成本效益、速度快
text-embedding-ada-0021,536(固定)8,191舊版相容性
請參閱模型清單以查看所有可用的嵌入模型與定價。

重要說明

降低維度text-embedding-3-* 模型支援 dimensions 參數,讓您可以在幾乎不明顯影響準確度的情況下縮短嵌入向量。這可將儲存成本最多降低 75%,同時保留大部分語意資訊。
批次輸入 — 您可以透過將字串陣列傳入 input 參數,在單一請求中為多段文字建立嵌入。與針對每段文字分別發送請求相比,這樣的效率高得多。

授權

Authorization
string
header
必填

Bearer token authentication. Use your CometAPI key.

主體

application/json
model
string
必填

The embedding model to use. See the Models page for current embedding model IDs.

範例:

"text-embedding-3-small"

input
必填

The text to embed. Can be a single string, an array of strings, or an array of token arrays. Each input must not exceed the model's maximum token limit (8,191 tokens for text-embedding-3-* models).

encoding_format
enum<string>
預設值:float

The format of the returned embedding vectors. float returns an array of floating-point numbers. base64 returns a base64-encoded string representation, which can reduce response size for large batches.

可用選項:
float,
base64
dimensions
integer

The number of dimensions for the output embedding vector. Only supported by text-embedding-3-* models. Reducing dimensions can lower storage costs while maintaining most of the embedding's utility.

必填範圍: x >= 1
user
string

A unique identifier for your end-user, which can help monitor and detect abuse.

回應

200 - application/json

A list of embedding vectors for the input text(s).

object
enum<string>

The object type, always list.

可用選項:
list
範例:

"list"

data
object[]

An array of embedding objects, one per input text. When multiple inputs are provided, results are returned in the same order as the input.

model
string

The model used to generate the embeddings.

範例:

"text-embedding-3-small"

usage
object

Token usage statistics for this request.