Vector embedding — dense numeric representation (массив floats) любого объекта: текста, картинки, аудио. 512-3072 dimensions обычно. Пример: "dog" → [0.23, -0.15, 0.67, ...]. Similar objects → close vectors (cosine similarity > 0.8). Используется в semantic search, clustering, RAG, image similarity. Models: OpenAI text-embedding-3 (3072 dim), Cohere embed-v3, jina-embeddings-v3 (open), bge-m3 (multilingual).
Ниже: подробности, пример, смежные термины, FAQ.
Бесплатный онлайн-инструмент — проверка HTTP-заголовков: результат мгновенно, без регистрации.
# OpenAI Embedding API
import { OpenAI } from 'openai';
const openai = new OpenAI();
const response = await openai.embeddings.create({
model: 'text-embedding-3-large',
input: 'TCP vs UDP protocols'
});
console.log(response.data[0].embedding); // [0.01, -0.23, ..., 0.05] — 3072 floatsVector embedding — это метод представления объектов, таких как слова, предложения или изображения, в виде векторов в многомерном пространстве. Это позволяет эффективно обрабатывать и анализировать данные с помощью алгоритмов машинного обучения и нейронных сетей. Например, векторное представление слов позволяет вычислять семантические связи между ними, что активно используется в задачах обработки естественного языка (NLP).
Векторное представление объектов основано на идее, что подобные объекты должны находиться ближе друг к другу в векторном пространстве. Для создания векторов используются различные алгоритмы, такие как Word2Vec, GloVe и FastText. Эти алгоритмы обучаются на больших объемах текстовых данных и преобразуют слова в векторы фиксированной длины, обычно от 50 до 300 измерений.
Например, в алгоритме Word2Vec используется метод Skip-gram, который пытается предсказать соседние слова по заданному слову. Обучение происходит на основе контекстных слов, что позволяет алгоритму улавливать семантические связи. После обучения каждое слово представляется вектором, и можно вычислять расстояния между ними, используя, например, косинусное расстояние.
Для практического применения векторного представления, давайте рассмотрим использование библиотеки Gensim в Python:
from gensim.models import Word2Vec
# Предположим, у нас есть список предложений
sentences = [["я", "люблю", "программирование"], ["машинное", "обучение", "это", "интересно"]]
# Обучаем модель Word2Vec
model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)
# Получаем вектор для слова "программирование"
vect = model.wv["программирование"]
print(vect)В результате выполнения этого кода мы получим векторное представление слова "программирование" в 100-мерном пространстве. Эти векторы можно использовать для различных задач, таких как классификация текстов или поиск похожих слов.
Векторное представление находит широкое применение в различных областях, таких как обработка естественного языка, компьютерное зрение и рекомендательные системы. В NLP векторы используются для анализа текстов, построения чат-ботов и автоматического перевода. Например, векторизация текстов позволяет применять алгоритмы кластеризации для группировки похожих документов.
В компьютерном зрении векторное представление изображений позволяет сравнивать и классифицировать их на основе визуальных признаков. Для этого используются методы глубокого обучения, такие как сверточные нейронные сети (CNN), которые преобразуют изображения в векторы, учитывающие различные характеристики, такие как цвет, текстура и форма.
Рекомендательные системы, например, на платформах электронной коммерции, также активно используют векторные представления для сопоставления пользователей и товаров. На основе анализа поведения пользователей и их предпочтений, система может рекомендовать товары, которые могут их заинтересовать.
Одним из примеров является использование векторного представления в Netflix для рекомендаций фильмов. Система анализирует векторы пользователей и фильмов, чтобы находить наиболее подходящие варианты для каждого пользователя, основываясь на их предыдущих выборах.
Таким образом, векторное представление становится важным инструментом для решения множества задач в области анализа данных и машинного обучения, обеспечивая более глубокое понимание и обработку информации.
Cosine (нормализованные vectors) — доминирует для text/nlp. Euclidean — для images/raw features. Dot product — если vectors pre-normalized.
3072 dim ≫ 512 dim в recall на complex queries, но 6x storage + compute. Balance по dataset size + accuracy requirement.
Embedding search — fast but approximate. Rerank (Cohere Rerank, Voyage rerank) — slower, but лучше на top-5. Pipeline: retrieve 50 → rerank top 10.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.