API эмбеддингов
Эмбеддинги в kosareva.cloud считаются через POST /v1/embeddings: векторы для поиска по смыслу, RAG и классификации. Ключ тот же, что у остальных моделей.
Запрос
Поле input принимает строку или список строк: при индексации базы знаний отправляйте фрагменты пачками, один запрос вместо сотни. Исключение модели Yandex, у них одна строка на запрос.
curl https://api.kosareva.cloud/v1/embeddings \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"model":"gemini-embedding-2","input":["Первый фрагмент","Второй фрагмент"]}'
Ответ содержит массив data, в каждом элементе поле embedding. Векторы разных моделей несовместимы: сменили модель, переиндексируйте базу целиком. Как собрать поиск по своей базе, написано в разборе RAG-системы.
Модели Yandex
У yandex-embeddings-doc и yandex-embeddings-query две особенности. В input идёт одна строка: список из нескольких получит 400. Вектор нужен в формате float: OpenAI SDK по умолчанию просит base64, а его модели Yandex не принимают, поэтому в SDK передавайте encoding_format.
vector = client.embeddings.create(
model="yandex-embeddings-doc",
input="Один фрагмент",
encoding_format="float",
).data[0].embedding
Модели и цены
В каталоге 6 моделей эмбеддингов.
| Модель | Имя в запросе | Вектор и фрагмент | За 1M токенов |
|---|---|---|---|
| Yandex Embeddings Doc | yandex-embeddings-doc | 256 измерений, до 8192 токенов на фрагмент, для индексации документов | 14,14 ₽ |
| Yandex Embeddings Query | yandex-embeddings-query | 256 измерений, до 8192 токенов на фрагмент, для поисковых запросов | 14,14 ₽ |
| Text Embedding 3 Small | text-embedding-3-small | 1536 измерений, до 8192 токенов на фрагмент | 2,16 ₽ |
| Text Embedding 3 Large | text-embedding-3-large | 3072 измерения, до 8192 токенов на фрагмент | 14,04 ₽ |
| Text Embedding Ada 002 | text-embedding-ada-002 | 1536 измерений, до 8192 токенов на фрагмент | 10,8 ₽ |
| Gemini Embedding 2 | gemini-embedding-2 | 3072 измерения, до 2048 токенов на фрагмент | 21,6 ₽ |
У Yandex две модели в паре: Doc для документов в базе, Query для поисковых запросов к ней.