跳转到主要内容
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
  }
}

概述

Embeddings API 会生成能够捕捉语义含义的文本向量表示。这些向量可用于语义搜索、聚类、分类、异常检测和检索增强生成(RAG)。 CometAPI 支持来自多个提供商的嵌入模型。传入一个或多个文本字符串后,会返回数值向量,你可以将其存储到向量数据库中,或直接用于相似度计算。

可用模型

模型维度最大 Token 数最适合
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.