Embedding превращает объект в сравнимый числовой вектор
Векторное представление, или embedding, — это список чисел, который модель создаёт для текста, изображения или другого объекта. Человеку отдельные координаты обычно ничего не объясняют, но система может сравнивать целые векторы: близкие точки должны соответствовать объектам, связанным по смыслу, а далёкие — менее связанным. Поэтому embeddings применяют в смысловом поиске, группировке, классификации и рекомендациях. Это не краткое содержание и не скрытая копия исходного предложения. Вектор служит вычислимым представлением признаков, полезных конкретной модели и конкретной задаче.
Это представление, а не сгенерированный ответ
Языковая модель и embedding-модель решают разные этапы. Материал о том, как работает большая языковая модель, объясняет генерацию последовательности токенов. Embedding-модель вместо продолжения текста возвращает числовой вектор фиксированной для выбранной конфигурации формы. Такой результат можно сохранить в индексе и сопоставлять с вектором нового запроса. Генератор ответа затем может использовать найденные фрагменты, но само вычисление близости ещё не создаёт объяснение и не доказывает истинность документа.
Смысловой поиск ранжирует близость, а не истину
Представьте три фразы: «срок возврата устройства», «сколько дней можно вернуть покупку» и «как заменить пароль». В обычном поиске первые две формулировки могут иметь мало общих слов. Смысловой поиск кодирует запрос и документы одной моделью, вычисляет меру близости и должен поставить правила возврата выше инструкции по паролю. Число сходства не является универсальным процентом истины. Оно помогает упорядочить кандидатов внутри настроенного процесса, а приемлемый порог выбирают по контрольным запросам и реальным ошибкам.
Косинусное сходство сравнивает направление двух векторов, а не буквальное совпадение текста. В некоторых системах используют скалярное произведение или расстояние другого типа. Выбор меры должен соответствовать модели и способу нормализации. Даже высокий балл может означать тематическую близость без ответа на вопрос: документ о возвратах вообще окажется рядом с запросом о возврате конкретной категории товара, хотя нужное исключение в нём отсутствует. Поэтому после векторного поиска часто применяют фильтры, повторное ранжирование и проверку содержимого найденного фрагмента.
Задача определяет полезное сходство
Качество зависит от постановки задачи. Google рекомендует указывать назначение embedding для поиска, классификации или другой операции, поскольку модель может оптимизировать представление под требуемые отношения. Для поиска запрос и документ выполняют разные роли: короткий вопрос должен находить более длинный фрагмент с ответом. Для поиска дубликатов сравниваются однотипные тексты. Нельзя считать, что одна конфигурация автоматически одинаково хороша для русских запросов, названий товаров, технических кодов и длинных нормативных абзацев.
В RAG векторы находят кандидатов для контекста
Embeddings особенно полезны внутри базы знаний для RAG: каждый фрагмент документа кодируется заранее, затем новый вопрос превращается в вектор, и индекс возвращает близкие фрагменты для контекста. Однако слабая подготовка корпуса не исчезает. Если исключение отделено от основного правила, старая редакция не помечена, а заголовок потерян при разбиении, поиск способен найти правдоподобный, но недостаточный текст. Векторный индекс ускоряет отбор кандидатов, но ответственность за версии, права доступа и ссылки на первоисточник остаётся частью системы.
Соберите тест до выбора модели
Соберите маленький проверочный набор до выбора модели. Для каждого вопроса укажите фрагмент, который должен попасть в верхние результаты, допустимые альтернативы и явно нерелевантные документы. Добавьте перефразировки, сокращения, профессиональные термины, опечатки и вопросы без ответа. В вымышленном примере для базы магазина можно взять 30 вопросов о доставке, возврате и гарантии. Важно не само число, а покрытие разных намерений. Затем сравните модели и настройки на одном и том же наборе, не меняя одновременно корпус, разбиение и критерии.
Для проверки поиска полезны показатели, учитывающие позицию правильного результата: например, попал ли нужный фрагмент в первые k результатов и насколько высоко он расположен. Научные обзоры разделяют оценку смысловой близости и оценку информационного поиска. В первом случае сравнивают вычисленную близость с человеческими оценками пар текстов; во втором используют запросы, релевантные документы и нерелевантные кандидаты. Высокая корреляция на общем тесте не гарантирует хороший поиск в вашей базе, потому что терминология, язык и тип ошибок могут отличаться.
Ошибки подсказывают, что менять
Разбирайте промахи по категориям. Если запрос и правильный документ используют разные термины, помогут синонимы, заголовки или модель, устойчивее работающая с доменной лексикой. Если рядом оказываются все документы одного раздела, но не нужный пункт, возможно, фрагменты слишком велики. Если точный артикул теряется, добавьте лексический поиск или фильтр, а не заставляйте векторный поиск решать задачу точного совпадения. Если русский запрос хуже английского аналога, включите многоязычные пары в контрольный набор и сравните поддерживаемые языки.
Версия модели и разбиение должны быть зафиксированы
Учитывайте объём входа и разбиение: любой текст сначала проходит обработку модели, поэтому длинный документ не следует бездумно кодировать одной записью. Отдельный разбор про токены и контекстное окно помогает оценить технические ограничения, но для embeddings важнее сохранить один законченный смысл в каждом фрагменте. После смены embedding-модели или способа подготовки текста проведите повторное кодирование корпуса и снова запустите тесты: числовые представления и ранжирование являются результатом конкретной конфигурации.
Проверяйте качество на реальном поиске
Проверка результата должна отвечать на практический вопрос: находит ли система нужное пользователю основание раньше похожих, но неверных документов. Сохраните версию модели, правила подготовки текста, меру близости, фильтры и контрольный набор. Для каждого изменения сравнивайте не только средний показатель, но и список провалов: пропущенные исключения, ложные совпадения, языковые ошибки и вопросы без ответа. Embeddings полезны, когда превращают смысловую близость в воспроизводимый поиск; они не заменяют фактическую проверку, управление источниками и чтение найденного фрагмента.