curl -X POST https://api-llm.sunra.ai/v1/embeddings \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-embedding-2",
"input": [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
"dimensions": 768
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/embeddings",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "google/gemini-embedding-2",
"input": [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
"dimensions": 768
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/embeddings", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "google/gemini-embedding-2",
input: [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
dimensions: 768
})
});
const data = await response.json();
console.log(data);
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.011253, -0.020551, 0.049236, "..."]
},
{
"object": "embedding",
"index": 1,
"embedding": [0.031744, 0.008122, -0.014307, "..."]
}
],
"model": "google/gemini-embedding-2",
"usage": {
"prompt_tokens": 18,
"total_tokens": 18
}
}
LLM
Create embeddings
POST
/
v1
/
embeddings
curl -X POST https://api-llm.sunra.ai/v1/embeddings \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-embedding-2",
"input": [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
"dimensions": 768
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/embeddings",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "google/gemini-embedding-2",
"input": [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
"dimensions": 768
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/embeddings", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "google/gemini-embedding-2",
input: [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
dimensions: 768
})
});
const data = await response.json();
console.log(data);
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.011253, -0.020551, 0.049236, "..."]
},
{
"object": "embedding",
"index": 1,
"embedding": [0.031744, 0.008122, -0.014307, "..."]
}
],
"model": "google/gemini-embedding-2",
"usage": {
"prompt_tokens": 18,
"total_tokens": 18
}
}
Создаёт векторы эмбеддингов из текстовых или медиавходов. Запросы только с текстом возвращают по одному вектору на каждый вход; полезно для поиска информации, семантического поиска, кластеризации, классификации и RAG. Запросы, содержащие медиа (изображения, аудио или видео в виде base64 data URI), объединяют все входы в один кросс-модальный вектор — если нужен отдельный вектор для каждого ресурса, отправляйте каждый ресурс отдельным запросом. Совместим с форматом API OpenAI Embeddings. Потоковый режим на этом эндпоинте не поддерживается.
Аутентификация
string
обязательно
Bearer-токен. Используйте ваш API-ключ в качестве Bearer-токена в заголовке Authorization.Формат:
Bearer <SUNRA_KEY>Запрос
Этот эндпоинт принимает объект.string
обязательно
Идентификатор используемой модели эмбеддингов, например
google/gemini-embedding-2. Доступные модели эмбеддингов смотрите на странице моделей.string | string[]
обязательно
Входы для преобразования в эмбеддинги — одна строка или массив строк. Входы только с текстом обрабатываются независимо и возвращают по одному вектору на каждый вход в порядке входов. Медиавходы передаются как base64 data URI (
data:image/png;base64,…, data:audio/mpeg;base64,…, data:video/mp4;base64,…) и могут смешиваться с текстом — но любой запрос, содержащий медиа, возвращает один объединённый вектор для всех входов вместе. Лимиты (upstream): не более 6 изображений на запрос, видео до 120 секунд и общий бюджет 8 192 токена на все модальности (текстовые токены; каждое изображение считается как 258 токенов, аудио — 25 токенов/секунду, видео — 66 токенов/секунду).integer
Количество измерений выходных эмбеддингов. Поддерживается только моделями с гибкой размерностью выхода (Matryoshka Representation Learning). Для
google/gemini-embedding-2 значение по умолчанию — 3072, поддерживаются значения от 128 до 3072. Меньшие значения усекают вектор, сохраняя большую часть семантического качества.string
Формат возвращаемых эмбеддингов. Либо
float (по умолчанию), либо base64.Ответ
string
Всегда
list.object[]
string
Модель, использованная для создания эмбеддингов.
object
Использование токенов для запроса. Эмбеддинги тарифицируются только по входным токенам, с отдельными тарифами для каждой модальности (цены смотрите на странице модели). Для запросов с медиа указывается количество токенов по каждой модальности.
Показать usage object
Показать usage object
integer
Количество текстовых входных токенов.
integer
Входные токены изображений (258 на изображение). Присутствует только если запрос содержит изображения.
integer
Входные токены аудио (25 в секунду). Присутствует только если запрос содержит аудио.
integer
Входные токены видео (66 в секунду). Присутствует только если запрос содержит видео.
integer
Общее количество входных токенов по всем модальностям (эмбеддинги не создают выходных токенов).
curl -X POST https://api-llm.sunra.ai/v1/embeddings \
-H "Authorization: Bearer <SUNRA_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-embedding-2",
"input": [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
"dimensions": 768
}'
import requests
response = requests.post(
"https://api-llm.sunra.ai/v1/embeddings",
headers={
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
json={
"model": "google/gemini-embedding-2",
"input": [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
"dimensions": 768
}
)
print(response.json())
const response = await fetch("https://api-llm.sunra.ai/v1/embeddings", {
method: "POST",
headers: {
"Authorization": "Bearer <SUNRA_KEY>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "google/gemini-embedding-2",
input: [
"The quick brown fox jumps over the lazy dog.",
"Sunra is a platform for AI models."
],
dimensions: 768
})
});
const data = await response.json();
console.log(data);
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.011253, -0.020551, 0.049236, "..."]
},
{
"object": "embedding",
"index": 1,
"embedding": [0.031744, 0.008122, -0.014307, "..."]
}
],
"model": "google/gemini-embedding-2",
"usage": {
"prompt_tokens": 18,
"total_tokens": 18
}
}
⌘I