Перейти к основному содержанию
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 Embeddings генерирует векторные представления текста, которые отражают его семантический смысл. Эти векторы можно использовать для semantic search, кластеризации, классификации, обнаружения аномалий и retrieval-augmented generation (RAG). CometAPI поддерживает модели embeddings от нескольких провайдеров. Передайте одну или несколько текстовых строк и получите в ответ числовые векторы, которые можно сохранить в векторной базе данных или использовать напрямую для вычисления сходства.

Доступные модели

ModelDimensionsMax TokensBest For
text-embedding-3-large3,072 (настраиваемые)8,191Embeddings наивысшего качества
text-embedding-3-small1,536 (настраиваемые)8,191Экономично и быстро
text-embedding-ada-0021,536 (фиксированные)8,191Совместимость с legacy-системами
Полный список доступных моделей embeddings и цены смотрите в списке моделей.

Важные примечания

Уменьшение размерности — Модели text-embedding-3-* поддерживают параметр dimensions, который позволяет сократить embedding vector без заметной потери точности. Это может снизить затраты на хранение до 75%, сохранив при этом большую часть семантической информации.
Пакетный ввод — Вы можете создавать embeddings для нескольких текстов в одном запросе, передав массив строк в параметр 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.