Как создаются эмбеддинги
Текст, изображение или другой объект передается специальной модели, которая преобразует его в последовательность чисел фиксированной длины. Полученная последовательность называется векторным представлением.
Например, текстовый эмбеддинг может содержать сотни или тысячи числовых значений. Каждое отдельное значение обычно не имеет простой интерпретации, но их совокупность кодирует признаки, выявленные моделью.
Размерность и свойства вектора зависят от конкретной модели эмбеддингов.
Для текстов модель обучается формировать такие представления, при которых семантически близкие выражения располагаются относительно близко друг к другу в многомерном векторном пространстве.
Как эмбеддинги помогают находить похожие тексты
Обычный поиск по ключевым словам ориентируется на совпадения слов и выражений. Семантический поиск с помощью эмбеддингов позволяет учитывать близость значений.
Например, запросы «Как вернуть покупку?» и «Какие условия возврата товара?» содержат разные слова, но имеют похожий смысл.
Модель эмбеддингов может преобразовать эти фразы в близкие векторы. Поисковая система сравнивает их с векторами документов и выбирает наиболее релевантные результаты.
Для оценки близости используются математические меры, например косинусное сходство или расстояние между векторами.
При этом близость эмбеддингов не означает, что тексты полностью эквивалентны. Она показывает сходство по признакам, которые учитывает конкретная модель.
Где используются эмбеддинги
Векторные представления применяются в разных AI-системах:
- Семантический поиск. Поиск документов и текстовых фрагментов по смыслу запроса, а не только по совпадающим словам.
- RAG-системы. Поиск подходящих фрагментов базы знаний для передачи языковой модели в качестве дополнительного контекста.
- Группировка данных. Объединение похожих текстов, документов или объектов в кластеры.
- Рекомендательные системы. Сопоставление интересов пользователей с характеристиками контента или товаров.
- Поиск похожих изображений. Сравнение визуальных объектов с использованием моделей, создающих соответствующие векторные представления.
Как эмбеддинги используются в RAG
Один из распространенных сценариев — поиск информации в базе технической документации.
Сначала документы разбиваются на фрагменты. Для каждого фрагмента создается эмбеддинг, который сохраняется в векторном индексе.
Когда пользователь задает вопрос, система создает эмбеддинг запроса и ищет близкие векторы. Найденные фрагменты затем передаются LLM для генерации ответа.
Таким образом, эмбеддинги помогают определить, какую информацию стоит передать модели, но сами по себе не создают текст ответа.
Важно, чтобы сравниваемые векторы принадлежали совместимому пространству представлений. Эмбеддинги разных моделей нельзя автоматически считать сопоставимыми.