Поделиться через


Настройка семантического рангера и возвращаемых подписей в результатах поиска

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

В этой статье объясняется, как настроить индекс поиска для семантического ранжирования.

Примечание.

Если у вас есть код, вызывающий предварительную версию или предыдущие версии API, см. статью "Миграция семантического ранжирования кода ", чтобы помочь в изменении кода.

Предварительные условия

  • Служба поиска на уровне "Базовый" или выше, при условии доступности региона.

  • Семантический рангировщик включен в службе поиска.

  • Существующий индекс поиска с форматированным текстовым содержимым. Семантический ранжирование применяется к полям строк (невектора) и лучше всего подходит для содержимого, который является информационным или описательным.

Выбор клиента

Вы можете указать семантику конфигурации для новых или существующих индексов с помощью любого из следующих средств и пакетов SDK для добавления семантической конфигурации:

Добавление семантической конфигурации

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

Вы можете создать до 100 семантических конфигураций в одном индексе.

Семантическая конфигурация имеет имя и следующие свойства:

Свойство Характеристики
Поле заголовка Короткая строка, в идеале до 25 слов. Это поле может быть названием документа, имени продукта или уникального идентификатора. Если у вас нет подходящего поля, оставьте его пустым.
Поля содержимого Длинные фрагменты текста в форме естественного языка при условии максимального ограничения ввода маркеров в моделях машинного обучения. Распространенные примеры включают текст документа, описание продукта или другой текст свободной формы.
Поля ключевых слов Список ключевых слов, таких как теги документа или описательный термин, например категория элемента.

Можно указать только одно поле заголовка, но вы можете иметь столько полей содержимого и ключевых слов, сколько вам нравится. Для полей содержимого и ключевых слов выведите список полей в порядке приоритета, так как поля с низким приоритетом могут быть усечены.

Во всех свойствах семантической конфигурации поля должны быть назначены:

  • Обозначены как searchable и retrievable
  • Строки типа Edm.String, Collection(Edm.String)строковые подфилды Edm.ComplexType
  1. Войдите в портал Azure и перейдите в службу поиска с поддержкой семантического ранжирования.

  2. В меню индексов в области навигации слева выберите индекс.

  3. Выберите семантические конфигурации и выберите "Добавить семантику".

    Снимок экрана: параметр добавления семантической конфигурации в портал Azure.

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

    Снимок экрана, показывающий, как создать семантическую конфигурацию в портале Azure.

  5. Нажмите кнопку "Сохранить", чтобы сохранить параметры конфигурации.

  6. Нажмите кнопку "Сохранить снова" на странице индекса, чтобы сохранить семантику конфигурации в индексе.

Выбор предварительной модели семантического ранжирования

Примечание.

Эта функция сейчас доступна в общедоступной предварительной версии. Этот предварительный просмотр предоставляется без соглашения об уровне обслуживания и не предназначается для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

Начиная с 2025-03-01-preview REST API и в SDK Azure, которые предоставляют это свойство, можно дополнительно настроить индекс для использования предварительных моделей семантического ранжирования, если одна из них развернута в вашем регионе. Нет механизма для определения, доступна ли предварительная версия, или того, использовалась ли она в конкретном запросе. По этой причине рекомендуется использовать это свойство в тестовой среде, и только если вы хотите попробовать самые последние модели семантического ранжирования.

Свойство конфигурации имеет значение "flightingOptIn": true, и оно задано в разделе семантической конфигурации индекса. Свойство имеет значение NULL или false по умолчанию. Вы можете задать значение true в запросе на создание или обновление в любое время, и оно будет влиять на семантические запросы в будущем, при условии, что запрос включает в себя семантическую конфигурацию, которая охватывает данное свойство.

PUT https://myservice.search.windows.net/indexes('hotels')?allowIndexDowntime=False&api-version=2025-03-01-preview

{
  "name": "hotels",
  "fields": [ ],
  "scoringProfiles": [ ],
  "defaultScoringProfile": "geo",
  "suggesters": [ ],
  "analyzers": [ ],
  "corsOptions": { },
  "encryptionKey": { },
  "similarity": { },
  "semantic": {
    "configurations": [
      {
        "name": "semanticHotels",
        "prioritizedFields": {
          "titleField": {
            "fieldName": "hotelName"
          },
        "prioritizedContentFields": [
            {
              "fieldName": "description"
            },
            {
              "fieldName": "description_fr"
            }
          ],
        "prioritizedKeywordsFields": [
            {
              "fieldName": "tags"
            },
            {
              "fieldName": "category"
            }
          ],
        "flightingOptIn": true
        }
      }
    ]
  },
  "vectorSearch": {  }
}

Следующие шаги

Проверьте семантику конфигурации, выполнив семантический запрос.