Эмбеддинги
Вызов POST /v1/embeddings — пачка входов, вектор на каждый вход в base64 и то, во что этот вызов обходится.
Быстро
Одна операция принимает пачку входов и отвечает вектором на каждый — в том же порядке, в каком входы были даны. 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 вызовов, а порядок ответа гарантирован. Границы проверяются до того, как будет вызван хоть один провайдер, поэтому пачка, вышедшая за них, стоит вам отказа, а не денег.
Считается вызов только по входным токенам: выходных токенов эта поверхность не производит, изображений тоже, и в учёте по обоим стоит ноль.
Какие модели отвечают
Отвечает только модель, у которой в опубликованном каталоге есть протокол эмбеддингов. Каталог — единственный источник этого факта: он же говорит, какие имена и псевдонимы у модели и что она умеет.
Каталог моделей → Прайс-лист →