ТЕХНОЛОГИИ

Поиск с EmbeddingGemma: разные промпты запросов и документов

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

Ролевые обёртки могут уже добавлять префиксы EmbeddingGemma, поэтому ручное добавление промпта способно продублировать инструкцию.

Поиск EmbeddingGemma использует разные роли входа для запроса и исходного документа, поэтому общему вызову кодирования нужен явный контракт промптов. Сохраняйте различие при переносе индекса между библиотеками и перестроении через другую программную обёртку.

Прочитать соглашение модели

Авторская карточка описывает промпты задач для запросов и документные промпты с заголовком. Это часть получения представления, а не украшение интерфейса. Обычный вопрос и правильно подготовленный запрос не обязаны создавать взаимозаменяемые векторы. Добавление заголовка только во время поиска также не предоставляет контекст, отсутствовавший при индексации документа. Сохраните конечный сериализованный вход небольшого диагностического набора, чтобы разницу можно было проверить по строкам, а не предположить по названию модели.

Исключить двойное добавление

Фреймворк может уже применять настроенный префикс запроса или документа. Его ручное добавление перед ролевым методом способно изменить вход дважды. Исследуйте строку, получаемую токенизатором, а не только внешнюю строку приложения. Сохраните версию обёртки и выбранное имя промпта. Успешный embedding-ответ ожидаемой размерности не доказывает получения моделью нужной задачи. Типы и форма массива остаются корректными даже при неверном соглашении о подготовке исходного текста.

Осознанно использовать заголовки

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

Роль входаПоле диагностики
ЗапросВыбранная задача и конечная строка
ДокументИсходный заголовок и конечный текст
ОбёрткаАвтоматическое применение промптов

Явно проверить асимметричный поиск

Руководство Sentence Transformers различает кодирование запроса и документа для асимметричной задачи. Создайте учебный пример короткого вопроса и длинного отрывка с ответом. Сравните нужный ролевой путь с намеренно неподготовленным контролем. Он показывает различие конфигураций, а не универсальную пользу удаления промптов. Сохраните исходные векторы и позиции для отделения ошибки обработки от поведения индекса. Тогда смену ранжирования можно будет связать с конкретным представлением, которое действительно использовалось поиском.

Считать промпт частью миграции

При изменении документной обработки определите, какие хранимые эмбеддинги нужно получить заново. Замена только подготовки запроса способна оставить несовместимые старые документы в одной коллекции. Дополнительный промпт уже правильной обёртки, напротив, может испортить проверенный профиль. Помечайте поколение векторов ревизией модели и соглашением входа, а не используйте одну общую метку EmbeddingGemma для всех разных вариантов, происхождение которых затем невозможно установить по данным.

Сохранить спецификацию входа

Оставьте примеры исходного текста, метаданные заголовка, конечную строку и закодированную роль. Добавьте случай без заголовка и обычный поисковый вопрос. Такой артефакт проще проверить, чем большой индекс с неизвестной обработкой. Приёмка подтверждает совместимые представления запроса и документов своего корпуса, не превращая карточку модели или среднюю оценку benchmark в гарантию для любого языка и предметной области.

Связанные материалы: Эмбеддинги текста на своём GPU: как организовать пакетную индексацию; Эмбеддинги для русского языка: как проверить поиск на своих документах.

← Все материалы