Перейти к основному содержимому

Эмбеддинги

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

Полный список моделей можно посмотреть на странице Модели или получить динамически через API эндпоинты: https://openai.bothub.chat/v1/models и https://bothub.chat/api/v2/replicate/v1/models`

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

Когда текст преобразуется в embedding-вектор, модель сохраняет не сами слова, а их смысловое представление. Благодаря этому можно сравнивать тексты между собой, находить похожий контент и выполнять интеллектуальный поиск.

Эмбеддинги активно используются в AI-приложениях, поисковых системах и RAG-сценариях (Retrieval-Augmented Generation), где модель работает с внешней базой знаний.


Где используются эмбеддинги​

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

Также embeddings являются важной частью RAG-систем, где модель сначала ищет релевантную информацию в базе знаний, а затем использует её при генерации ответа.


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

У нас доступны следующие embedding-модели:

  • text-embedding-3-small (для быстрых и недорогих задач)
  • text-embedding-3-large (для более высокого качества и точности поиска)
  • text-embedding-ada-002

Генерация эмбеддингов​

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

Ниже приведён базовый пример генерации эмбеддингов с использованием модели text-embedding-3-large.

async function main() {
const response = await openai.embeddings.create({
model: 'text-embedding-3-large',
input: 'The food was delicious and the waiter...',
encoding_format: 'float'
});

const embedding = response.data[0].embedding;

console.log(embedding);
}

main();

Формат ответа​

В ответ API возвращает объект с embedding-вектором. Сам вектор представляет собой массив чисел с плавающей точкой (float), который описывает смысл текста в многомерном пространстве.

Полученные embeddings обычно сохраняются во внешней векторной базе или используются для вычисления семантической близости между текстами.

Пример доступа к embedding-вектору:

const embedding = response.data[0].embedding;

Основные параметры​

ПараметрТипОписание
modelstringEmbedding-модель
inputstring | arrayТекст или массив текстов
encoding_formatstringФормат embedding-вектора (float или base64)

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

к сведению

Для большинства задач рекомендуется использовать text-embedding-3-large, если вам важна максимальная точность поиска и сравнения текстов.

Если приоритетом являются скорость и стоимость, лучше подойдёт text-embedding-3-small.

Официальную документацию OpenAI по embeddings можно посмотреть здесь