Перейти к содержимомуKumoДокументация
Разделы
На странице
Шлюз

Эмбеддинги

Вызов POST /v1/embeddings — пачка входов, вектор на каждый вход в base64 и то, во что этот вызов обходится.

Открыть как Markdown

Быстро

Одна операция принимает пачку входов и отвечает вектором на каждый — в том же порядке, в каком входы были даны. encoding_format обязателен и равен "base64".

curl https://api.kumorouter.com/v1/embeddings \
  -H "Authorization: Bearer $KUMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<model>",
    "encoding_format": "base64",
    "input": ["первый текст", "второй текст"]
  }'

Члены запроса

modelОбязателен. Модель каталога, которой считать векторы, в том имени, которым её называет клиент.
inputОбязателен. Пачка входов: не больше 128 членов и не больше 131 072 байт в сумме. Пустой вход отвергается.
encoding_formatОбязателен и равен `"base64"`.
Заметка

"float" этой поверхностью не обслуживается — ни названный явно, ни полученный умолчанием протокола. Запрос, который просит float или не просит ничего, отвергается по имени члена, а не отвечается в другом формате. Так контракт остаётся позиционным: вектор нельзя перепутать со входом, и его нельзя тихо потерять.

Стриминга у этой поверхности нет.

Ответ

objectВсегда `list`.
dataПо вектору на вход, в том порядке, в каком входы были даны.
modelМодель, которой векторы посчитаны.
usage`prompt_tokens` и `total_tokens`; на этой поверхности они равны.

Каждый член data несёт object со значением embedding, index — позицию своего входа — и embedding: компоненты вектора как значения float32 little-endian, закодированные в base64.

{
  "object": "list",
  "model": "<model>",
  "data": [
    { "object": "embedding", "index": 0, "embedding": "AACAPwAAAEAAAEBA" },
    { "object": "embedding", "index": 1, "embedding": "AABAwAAAgL8AAAAA" }
  ],
  "usage": { "prompt_tokens": 9, "total_tokens": 9 }
}

Пачка и её границы

Пачка — не удобство, а способ считать: 128 входов одним вызовом дешевле по накладным расходам, чем 128 вызовов, а порядок ответа гарантирован. Границы проверяются до того, как будет вызван хоть один провайдер, поэтому пачка, вышедшая за них, стоит вам отказа, а не денег.

Считается вызов только по входным токенам: выходных токенов эта поверхность не производит, изображений тоже, и в учёте по обоим стоит ноль.

Какие модели отвечают

Отвечает только модель, у которой в опубликованном каталоге есть протокол эмбеддингов. Каталог — единственный источник этого факта: он же говорит, какие имена и псевдонимы у модели и что она умеет.

Каталог моделей → Прайс-лист →

Что дальше