POST Embeddings

Создание векторных представлений текста

POST Embeddings

Создание векторных представлений текста.

Доступные модели

МодельIDРазмерность
text-embedding-3-largetext-embedding-3-large3072
text-embedding-3-smalltext-embedding-3-small1536

Параметры запроса

ПараметрТипОбязательныйОписание
modelstringДаID модели
inputstring/arrayДаТекст или массив текстов
encoding_formatstringНетФормат: float, base64
dimensionsintegerНетРазмерность вывода
userstringНетИдентификатор конечного пользователя

Примеры

curl -X POST "https://api.usellm.ru/v1/embeddings" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-large",
    "input": ["Пример текста для поиска", "Второй пример"]
  }'

Ответ (200)

{
  "id": "emb_123456",
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [0.01, -0.02, 0.03, "..."],
      "index": 0
    },
    {
      "object": "embedding",
      "embedding": [0.03, 0.11, -0.05, "..."],
      "index": 1
    }
  ],
  "model": "text-embedding-3-large",
  "usage": {
    "prompt_tokens": 42,
    "total_tokens": 42,
    "cost_rub": 0.05,
    "cost": 0.05
  }
}

Работа с изображениями

Некоторые модели эмбеддингов поддерживают изображения на входе — это даёт мультимодальные эмбеддинги, которые улавливают визуальный контент вместе с текстом. Полезно для поиска по изображениям, определения визуального сходства и кросс-модального поиска.

Чтобы передать изображение, оберните входные данные в мультимодальный формат с массивом content, содержащим объекты image_url. В одном блоке ввода можно комбинировать текст и изображения.

МодельIDМультимодальная
Google: Gemini Embedding 2 Previewgoogle/gemini-embedding-2-previewмультимодальная (текст + изображения)
curl https://api.usellm.ru/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -d '{
  "model": "google/gemini-embedding-2-preview",
  "input": [
    {
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url": "data:image/png;base64,..."
          }
        }
      ]
    }
  ],
  "encoding_format": "float"
}'

Текст и изображения можно совместить в одном входе, чтобы получить объединённый эмбеддинг:

curl https://api.usellm.ru/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <USELLM_API_KEY>" \
  -d '{
    "model": "google/gemini-embedding-2-preview",
    "input": [
      {
        "content": [
          {"type": "text", "text": "Деревянный настил среди зелёного луга"},
          {"type": "image_url", "image_url": {"url": "https://example.com/example.jpg"}}
        ]
      }
    ],
    "encoding_format": "float"
  }'

Возможность передавать изображения зависит от модели. Полный список моделей с поддержкой image input см. в каталоге моделей.

Все доступные модели

  • YandexGPT Embeddings — Query: yandex/text-search-query
  • YandexGPT Embeddings — Doc: yandex/text-search-doc
  • Google: Gemini Embedding 001: google/gemini-embedding-001
  • Google: Gemini Embedding 2 Preview: google/gemini-embedding-2-preview (мультимодальная)
  • Qwen: Qwen3 Embedding 8B: qwen/qwen3-embedding-8b
  • Qwen: Qwen3 Embedding 4B: qwen/qwen3-embedding-4b
  • OpenAI: Text Embedding Ada 002: openai/text-embedding-ada-002
  • OpenAI: Text Embedding 3 Small: openai/text-embedding-3-small
  • OpenAI: Text Embedding 3 Large: openai/text-embedding-3-large

Применения

  • Семантический поиск — поиск по смыслу, а не по ключевым словам
  • RAG — Retrieval-Augmented Generation для LLM
  • Кластеризация — группировка похожих документов
  • Классификация — категоризация текстов

Рекомендации

  1. Нормализуйте тексты — приведите тексты к единому формату перед получением эмбеддингов
  2. Разделяйте на чанки — оптимальный размер чанка: 200-800 токенов
  3. Используйте косинусное сходство — для сравнения эмбеддингов применяйте cosine similarity или dot-product
  4. Кэшируйте результаты — сохраняйте эмбеддинги и кэшируйте повторяющиеся по хешу текста