Интерактивный курс · эмбеддинги

Смысл — это точка в пространстве

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

Демо на странице — симуляция: живых запросов к модели нет. Но векторы эмбеддингов настоящие — посчитаны реальной моделью заранее.

пространство смыслов · 2D-проекция
01 Вектор смысла

Смысл слов — это геометрия

Модель-энкодер читает текст и выдаёт вектор из сотен или тысяч чисел. Сами числа не интерпретируются, но у похожих смыслов похожие векторы. Выберите два слова и сравните их профили и косинусную близость — здесь всё посчитано настоящей моделью bge-m3 (1024 измерения).

Слово A
Слово B
показаны 14 из 1024 измерений bge-m3 · косинус посчитан по всем 1024
0.00
−1 · противоположно0 · ничего общего+1 · синонимы
Косинусная близость — угол между векторами. Она не зависит от «направления смысла». Именно это число считают все векторные базы данных. Все близости на этой странице — настоящие: посчитаны моделью bge-m3 заранее.
02 Карта смыслов

Близко по смыслу — близко в пространстве

Перед вами настоящие 1024-мерные векторы bge-m3, спроецированные на плоскость (PCA). Наведите курсор или коснитесь слова — подсветятся ближайшие соседи по косинусу. Обратите внимание: кластеры сложились сами, никто не размечал «это животные, а это еда» — модель узнала это из текстов.

Наведите или коснитесь любого слова.
Векторная арифметика классика
Направления в этом пространстве несут смысл: разность «король − мужчина» — это вектор «королевственности». Прибавим его к «женщина» — окажемся возле «королева». Выберите аналогию и запустите. (Схема-иллюстрация: это классический пример из word2vec.)
Разность двух векторов — это «смысловое направление», которое можно переносить.
04 RAG

Как LLM отвечает по вашим документам

RAG (Retrieval-Augmented Generation) соединяет две вещи из этого курса: семантический поиск и генерацию. Идея простая: прежде чем модель ответит, поиск находит нужные фрагменты ваших документов и кладёт их в контекст. Уменьшает галлюцинации и даёт актуальные знания. Примеры в демо условные.

Фаза 1 · индексация (один раз, заранее)
документы: wiki, политики, договоры→нарезка на фрагменты (chunking)→энкодер→векторная база
Документы режут на небольшие фрагменты — разделённые по разделу, абзацу или иным параметрам. Их превращают в вектор. Что главное — плохая нарезка даст плохие ответы. Если обновили документ — придется заново его индексировать.
Фаза 2 · ответ на вопрос
Вопрос
вопрос→вектор→поиск по базе (8 фрагментов)→порог 0.55→контекст LLM→ответ
Найденные фрагменты · порог близости 0.55
Нажмите «Спросить»…
Контекст модели → ответ
…
Почему это лечит галлюцинации (и почему не до конца): у каждого факта появляется источник, который можно открыть и проверить, что «приземляет» модель. Но пересказывает фрагменты всё та же LLM — она может понять их неверно, а поиск может принести не то. Выставленный порог и указание отвечать, что информация не найдена — обязательная часть RAG-системы. Если сравнивать RAG с дообучением, то можно сказать, что RAG — для фактов, которые меняются, а дообучение — для стиля и общих правил.
05 Не только поиск

Эмбеддинги не только для поиска

Всё, где важно сортировать по смыслу, строится тех же косинусах. Например, в маршрутизации заявок система сама может определять отвественных — сравниваем её вектор со «средним вектором» заявок каждого отдела. Ни правил, ни обучения, ни LLM.

Новая заявка
близость к «профилю» каждого отдела
Выберите заявку…
🔁 Рекомендации

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

👯 Дедупликация

Новая заявка почти совпала по вектору со старой? Указываем это ещё до того, как её она перейдет в работу.

🗂 Кластеризация

Тысячи отзывов сами собираются в группы «про доставку», «про цену», «про интерфейс» — видно, на что жалуются чаще всего.

🚨 Аномалии

Обращение, у которого нет близких соседей, — новая, невиданная проблема. Повод посмотреть глазами человека.

Эмбеддинг — крайне «дешевая» операция. Поиск занимает миллисекунды, плюс можно использовать вообще без LLM. Прежде чем ставить LLM на задачу о маршрутизации, стоит спросить — а не хватит ли здесь эмбеддингов?
06 CLIP и мультимодальные эмбеддинги

Текст и картинка — в одном пространстве

CLIP обучен на сотнях миллионов пар «картинка + подпись»: два энкодера (визуальный и текстовый) учатся класть пару в одну точку, а чужие пары — расталкивать. В итоге фразу и фото можно сравнивать напрямую.

Общее пространство contrastive learning
Нажмите «Обучить»: пары «фото + подпись ×» стянутся вместе, чужие — разойдутся. (Схема утрирует: в настоящем CLIP пара не сливается в точку — своя подпись просто ближе всех остальных.)
До обучения: картинки и тексты лежат где попало.
Zero-shot классификация без дообучения
Выберите фото — CLIP сравнит его вектор с векторами текстовых меток. Числа — настоящие косинусы CLIP (clip-vit-base-patch32) для этих шести фото.
Где это используется: текстовый поиск по фотоархиву, модерация контента, сортировка товаров по описанию. CLIP-эмбеддинги также служат направляющими диффузионных моделей: именно так модель генерации картинок понимает, что от неё хотят.