AI и LLM

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

vector embedding

Векторное представление (vector embedding) — это числовой вектор, кодирующий смысл текста, картинки или звука. Близкие по смыслу объекты имеют близкие векторы, поэтому это основа семантического AI-поиска.

Векторное представление (vector embedding) — это способ записать смысл текста, изображения или звука в виде массива чисел, где каждое число отражает одну из смысловых характеристик объекта. Что это значит на практике: модель раскладывает содержание на сотни или тысячи координат, и объекты с похожим смыслом оказываются рядом в этом пространстве.

Семантический AI-поиск, рекомендации и retrieval для языковых моделей опираются на такие векторы. Типичная размерность у современных моделей — от 384 до 3072 чисел на один объект. Готовые эмбеддинги хранят в векторных базах вроде Pinecone, Qdrant или pgvector и сравнивают по косинусной близости.

§ 01Базовая идея

Модель-энкодер получает на вход фрагмент текста и отдаёт фиксированный набор чисел одинаковой длины независимо от того, одно это слово или целый абзац. Смысловой вектор строится так, что расстояние между двумя такими наборами отражает смысловую близость исходных объектов, а не совпадение символов. Слова кошка и котёнок дадут близкие координаты, хотя буквы у них разные. Именно поэтому числовое представление смысла ловит синонимы и перефразировки там, где обычный поиск по ключам промахивается.

§ 02Из чего складывается

Каждая позиция в массиве — это одна размерность, скрытый признак, который модель выучила на обучающих данных. Человек эти признаки не задаёт вручную и чаще всего не может их назвать. Длина фиксирована для конкретной модели: text-embedding-3-small выдаёт 1536 чисел, другие — 384, 768 или 3072. Складывается векторное вложение из трёх частей: энкодер, весовые матрицы после обучения и правило нормализации длины. Сравнивать между собой можно только векторы, полученные одной и той же моделью.

Кейс e-commerce

конверсия поиска +31% — Маркетплейс одежды на Shopify перевёл поиск по каталогу на векторные эмбеддинги через OpenAI text-embedding-3-small и Pinecone. Конверсия из поиска в корзину выросла на 31% за 4 месяца. Замер по GA4 Ecommerce и A/B-тесту в VWO.

Кейс SaaS

нерелевантные ответы −44% — B2B SaaS с базой знаний на 12 тысяч статей внедрил семантический поиск на sentence-transformers и pgvector в PostgreSQL. Доля нерелевантных ответов саппорта упала на 44% за 5 месяцев. Оценка через ручную разметку и метрику recall@10.

§ 03Как применять на сайте

Сначала прогоняете контент через модель эмбеддингов и сохраняете полученные векторы в хранилище: pgvector как расширение PostgreSQL, Qdrant или Pinecone. Запрос пользователя переводите в такой же семантический вектор и ищете ближайшие по косинусной близости записи. Так работают умный поиск по документации, блок похожих статей и RAG — подача релевантных кусков в языковую модель. Для чего нужно: сократить галлюцинации LLM и выдавать ответы по вашим данным, а не по общим знаниям модели.

§ 04Чем отличается от смежных понятий

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

Частые ошибки
01
Сравнение векторов из разных моделей. Эмбеддинги от OpenAI и BERT живут в разных пространствах, и косинусная близость между ними случайна. Семантический поиск возвращает мусор — падает точность выдачи и доверие пользователей к сервису. Как правильно: Используйте одну модель для индекса и запросов. Пересчитывайте всю базу при смене эмбеддера.
02
Индексация без нормализации векторов. Сырые векторы имеют разную длину, и метрика L2 путает похожие объекты с длинными. При масштабе в миллионы записей релевантность просаживается, а бюджет на инфраструктуру растёт впустую. Как правильно: Нормализуйте векторы до единичной длины перед записью. Замените L2 на косинусную близость или dot product.
03
Оценка качества по глазам на 10 примерах. Ручной просмотр выдачи создаёт иллюзию работы, но не ловит систематические провалы. Google и Pinecone советуют recall@k на размеченном наборе — без него регрессии уходят на прод незаметно. Как правильно: Замеряйте recall@10 и MRR на отложенной выборке из 500+ пар. Сравнивайте метрику при каждой смене модели или чанкинга.
Часто спрашивают

Векторное представление — частые вопросы

Векторное представление простыми словами — что это?

+

Эмбеддинг — это числовой вектор, который кодирует смысл текста, картинки или звука в виде набора чисел. Близкие по смыслу объекты получают близкие векторы, поэтому машина умеет сравнивать их математически. Современные модели вроде OpenAI text-embedding-3 выдают вектор из 1536 чисел.

Нейросеть-энкодер превращает объект в точку в многомерном пространстве, где расстояние отражает смысловую близость. Похожесть двух точек считают через косинусное сходство — от -1 до 1. Слова ‘кот’ и ‘кошка’ окажутся рядом, а ‘кот’ и ‘бетон’ — далеко друг от друга.

Эмбеддинг ищет по смыслу, а не по точному совпадению слов. Классический поиск найдёт страницу только с фразой ‘дешёвый ноутбук’, а семантический вектор подтянет и ‘бюджетный лэптоп’. Это снимает проблему синонимов и опечаток, недоступную обычному полнотекстовому поиску.

Обычно от 384 до 3072 чисел в зависимости от модели. У all-MiniLM это 384 измерения, у text-embedding-3-large — 3072. Больше измерений даёт точность, но увеличивает объём хранения и стоимость поиска, поэтому размерность подбирают под задачу.

Зависит от контента: для сайта до сотни страниц выгоды почти нет, обычный поиск справится. Векторное вложение окупается на базах от тысяч документов, в чат-ботах и RAG-системах. Начать можно с готовых баз Pinecone или Qdrant без своей инфраструктуры.

Не нашли ответ?

Спросите Андрея Гусарова — отвечаю в течение 1-2 рабочих дней.

Нажимая, вы соглашаетесь с обработкой данных.