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


Обновление набора навыков (REST API поиска ИИ Azure)

Вы можете обновить существующий набор навыков и хранилище знаний с помощью HTTP PUT, указав имя набора навыков для обновления в URI запроса.

PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=[api-version]
  Content-Type: application/json
  api-key: [admin key]

Примечание

Наборы навыков являются основой обогащения с помощью ИИ в поиске ИИ Azure. Бесплатный ресурс доступен для ограниченной обработки, но для больших и частых рабочих нагрузок требуется оплачиваемый ресурс Cognitive Services. Дополнительные сведения см. в статье Присоединение ресурса Cognitive Services к набору навыков поиска ИИ Azure.

Параметры URI

Параметр Описание
имя службы Обязательный. Задайте уникальное, определяемое пользователем имя службы поиска.
имя набора навыков Обязательный. Универсальный код ресурса (URI) запроса указывает имя обновляемого набора навыков.
api-version Обязательный. Текущая стабильная версия — api-version=2020-06-30. Дополнительные версии см. в разделе Версии API .
disableCacheReprocessingChangeDetection Необязательный элемент. Используется для добавочного обогащения (false по умолчанию). Задайте значение , true чтобы предотвратить обновление существующих документов на основе текущего действия. Дополнительные сведения см. в разделе Управление кэшем.

Заголовки запросов

Таблица ниже содержит обязательные и необязательные заголовки запроса.

Поля Описание
Content-Type Обязательный. Для этого заголовка необходимо задать значение application/json
api-key Необязательно, если вы используете роли Azure и в запросе предоставляется маркер носителя, в противном случае требуется ключ. Ключ API — это уникальная, сгенерированная системой строка, которая проверяет подлинность запроса к службе поиска. Запросы на обновление должны включать заголовок, заданный api-key для ключа администратора (а не ключа запроса). Дополнительные сведения см. в статье Подключение к поиску ИИ Azure с помощью проверки подлинности по ключу .

Текст запроса

Синтаксис текста запроса аналогичен синтаксису для создания набора навыков.

При обновлении существующего набора навыков все определение заменяется содержимым текста запроса. Как правило, лучший шаблон для обновлений — получить определение набора навыков с помощью GET, изменить его, а затем обновить с помощью PUT.

Ответ

При успешном выполнении запроса возвращается код состояния 201 (создан).

По умолчанию текст ответа содержит объект JSON для созданного определения набора данных. Однако если заголовок запроса Prefer содержит значение return=minimal, текст ответа будет пустым, а код состояния вместо значения "201 — создан" принимает значение "204 — нет содержимого". При этом не играет роли, какой запрос (PUT или POST) используется для создания набора навыков.

Примеры

Пример. Обновление набора навыков

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

PUT https://[servicename].search.windows.net/skillsets/financedocenricher?api-version=2020-06-30
api-key: [admin key]
Content-Type: application/json

Текст запроса является документом JSON. Этот конкретный набор навыков использует два навыка асинхронно, независимо обрабатывая /document/content сущность как два разных преобразования. Кроме того, можно сделать выходные данные одного преобразования входными для другого. Дополнительные сведения см. в разделе Определение набора навыков.

{
  "name": "financedocenricher",
  "description": 
  "An updated version of a skillset used to extract sentiment from financial records, extract company names, and then find additional information about each company mentioned. This version changes the target names.",
  "skills":
  [
    {
      "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
      "categories": [ "Organization" ],
      "defaultLanguageCode": "en",
      "inputs": [
        {
          "name": "text",
          "source": "/document/content"
        }
      ],
      "outputs": [
        {
          "name": "organizations",
          "targetName": "companies"
        }
      ]
    },
    {
      "@odata.type": "#Microsoft.Skills.Text.SentimentSkill",
      "inputs": [
        {
          "name": "text",
          "source": "/document/content"
        }
      ],
      "outputs": [
        {
          "name": "score",
          "targetName": "positivityscore"
        }
      ]
    },
  ],
  "cognitiveServices": 
  {
  "@odata.type": "#Microsoft.Azure.Search.CognitiveServicesByKey",
  "description": "mycogsvcs resource in West US 2",
  "key": "<your key goes here>"
  }
}

Пример. Удаление ключа Cognitive Services

Если вы хотите обновить существующий набор навыков и удалить подключенный к нему ключ Cognitive Services, измените cognitiveServices раздел, задав для @odata.type значение #Microsoft.Azure.Search.DefaultCognitiveServices.

{
  "name": "financedocenricher"
  "skills":
  [
    {
      "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
      "categories": [ "Organization" ],
      "defaultLanguageCode": "en",
      "inputs": [
        {
          "name": "text",
          "source": "/document/content"
        }
      ],
      "outputs": [
        {
          "name": "organizations",
          "targetName": "companies"
        }
      ]
    },
  ],
  "cognitiveServices": 
  {
  "@odata.type": "#Microsoft.Azure.Search.DefaultCognitiveServices"
  }
}

См. также раздел