GETAPI
СвязатьсяВойти
GETAPI/Документация/Embeddings

Embeddings

Векторное представление текста для поиска и классификации

Создаёт числовой вектор для одного текста или списка текстов

POST https://api.getapi.ru/v1/embeddings

Параметры

ПолеТипОбязательноеОписание
modelstringДаИдентификатор модели эмбеддингов
inputstring или string[]ДаТексты для векторизации
encoding_formatstringНетfloat или base64
dimensionsintegerНетРазмер вектора, если модель поддерживает настройку

Передайте Authorization: Bearer <key> и Content-Type: application/json

Модели и размерность

МодельРазмерность по умолчаниюНастройка dimensions
text-embedding-3-small1536Поддерживается
text-embedding-3-large3072Поддерживается
text-embedding-ada-0021536Не поддерживается

Актуальные идентификаторы доступны в каталоге Таблица не ограничивает состав каталога перечисленными моделями

Пример запроса

bash
curl https://api.getapi.ru/v1/embeddings \
  -H "Authorization: Bearer $GETAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": ["Как подключить API", "Как пополнить баланс"],
    "dimensions": 256,
    "encoding_format": "float"
  }'

Ответ

ПолеТипОписание
objectstringlist
dataarrayВектор для каждого элемента input
data[].objectstringembedding
data[].embeddingnumber[] или stringВектор либо его base64-представление
data[].indexintegerИндекс исходного текста
modelstringИмя или версия модели
usage.prompt_tokensintegerВходные токены всех текстов
usage.total_tokensintegerОбщий расход

Сопоставляйте векторы с текстами по index Для dimensions: 256 каждый числовой вектор содержит 256 элементов

Python

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["GETAPI_API_KEY"],
    base_url="https://api.getapi.ru/v1",
    max_retries=0,
)
response = client.embeddings.create(
    model="text-embedding-3-small",
    input=["Как подключить API", "Как пополнить баланс"],
    dimensions=256,
    encoding_format="float",
)
for item in response.data:
    print(item.index, len(item.embedding))

Base64

В REST-ответе encoding_format: "base64" задаёт строку с числами float32 в little-endian После декодирования проверьте, что число байтов делится на четыре, а количество чисел соответствует выбранной размерности

Использование в поиске

Индексируйте документы и запросы одной моделью с одинаковой размерностью Сохраняйте идентификатор модели и размерность рядом с индексом При их изменении пересчитайте векторы, значения разных моделей не образуют общее пространство

Ошибки

Чат-модель на этом методе, пропущенные model или input, неподдерживаемый dimensions могут вызвать 400 Не повторяйте такой запрос без исправления

Ошибки, стоимость

Назад
← Responses
Далее
Потоковые ответы →