Эмбеддинг — это представление текста числами. Модель эмбеддингов не отвечает на вопросы и ничего не пишет: она переводит переданный текст в вектор — длинный список чисел, в котором зашифрован смысл написанного.

Смысл этой затеи в том, что расстояние между векторами отражает близость по смыслу. «Как вернуть товар» и «условия возврата покупки» состоят из разных слов, но их векторы окажутся рядом. Поэтому эмбеддинги — основа поиска по смыслу, а не по совпадению слов.

  • Поиск по документации и базе знаний, когда пользователь спрашивает своими словами.
  • Ответы по своим данным: подходящие куски документов находятся по эмбеддингам и подставляются в запрос к текстовой модели.
  • Классификация и кластеризация — разложить обращения по темам, найти дубликаты.
  • Рекомендации похожих товаров, статей, вакансий.

Эндпоинт — /v1/embeddings. Обязательных полей два: model и input с текстом.

curl "https://api.proxyapi.ru/v1/embeddings" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <КЛЮЧ>" \
    -d '{
        "model": "openai/text-embedding-3-small",
        "input": "Как вернуть товар"
    }'

Вектор приходит в data[0].embedding — массивом чисел. Его длина называется размерностью и у каждой модели своя: от нескольких сотен до нескольких тысяч.

{
    "data": [
        {"index": 0, "embedding": [-0.0142, 0.0311, -0.0078, "..."]}
    ],
    "usage": {"prompt_tokens": 5, "total_tokens": 5}
}

В input можно передать массив строк — это заметно быстрее, чем отправлять их по одной. Векторы вернутся в том же порядке, а поле index подскажет, какой к чему относится.

{
    "model": "openai/text-embedding-3-small",
    "input": ["Как вернуть товар", "Сроки доставки", "Способы оплаты"]
}

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

Оплачиваются только входные токены — ответа как такового модель не порождает. Поэтому эмбеддинги стоят в разы дешевле генерации текста, и посчитать их для большого архива документов обычно вполне подъёмно.

Частые вопросы

Что такое эмбеддинг простыми словами?

Это перевод текста в набор чисел, устроенный так, что близкие по смыслу тексты получают близкие наборы. Благодаря этому смысловую близость можно посчитать арифметически, не сравнивая слова.

Можно ли сравнивать векторы, посчитанные разными моделями?

Нет. У каждой модели своё пространство векторов, и числа из разных моделей несопоставимы. При переходе на другую модель коллекцию нужно пересчитать целиком.

Сколько текстов можно отправить в одном запросе?

В поле input допускается массив строк. Практический предел задают ограничение на длину входных данных у модели и размер запроса, поэтому большие объёмы обычно разбивают на части.

Нужна ли отдельная векторная база данных?

Для небольшой коллекции достаточно хранить векторы рядом с данными и сравнивать их в коде. Векторная база или расширение к обычной базе нужны, когда документов много и поиск должен быть быстрым.

Последняя редакция: 3 сентября 2026 г.