Навык AML

Note

Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также служит основой для Foundry IQ — управляемого уровня знаний, который преобразует корпоративный контент в повторно используемые базы знаний с учетом прав доступа для агентов на портале Microsoft Foundry.

Важно

Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.

Используйте навык AML для расширения обогащения ИИ с развернутой базовой моделью внедрения из каталога моделей Microsoft Foundry (предварительная версия) или пользовательской модели Машинное обучение Azure (AML). Данные обрабатываются в Гео, где развернута ваша модель.

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

Для сетевых конечных точек AML используйте стабильную версию API или эквивалентную Azure SDK для вызова навыка AML. Для подключений к каталогу моделей используйте предварительную версию API.

Использование навыка AML

Как и другие навыки, навык AML имеет входные и выходные данные. Входные данные отправляются в виде объекта JSON в бессерверное развертывание из каталога моделей Foundry или веб-конечной точки AML. Выходные данные должны включать код успешного состояния, JSON-данные и параметры, указанные в определении вашего навыка AML. Любой другой ответ считается ошибкой, и никакие обогащения не выполняются.

Индексатор повторяет два раза для следующих кодов состояния HTTP:

  • 503 Service Unavailable
  • 429 Too Many Requests

Навык AML для моделей в Microsoft Foundry (предварительная версия)

Поиск с использованием ИИ Azure предоставляет векторизатор каталога моделей Microsoft Foundry (предварительная версия), который также доступен в мастере импорта данных для подключений во время запроса к каталогу моделей. Если вы хотите использовать этот векторизатор для запросов, навык AML является аналогом индексирования для создания внедрения с помощью модели из каталога моделей.

Во время индексирования навык AML может подключиться к каталогу моделей для создания векторов для индекса. Во время запроса запросы могут использовать векторизатор для подключения к той же модели для векторизации текстовых строк. Следует использовать навык AML и векторизатор каталога моделей Microsoft Foundry вместе, чтобы одна и та же унифицированная модель использовалась для индексирования и запросов. Дополнительные сведения см. в разделе "Использование моделей внедрения" из каталога моделей Foundry.

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

Необходимые условия

  • Проект, основанный на центре Microsoft Foundry, или рабочая область AML для пользовательской модели, которую вы создаете.

  • Только для проектов на основе узлов, бессерверное развертывание поддерживаемой модели из каталога моделей Microsoft Foundry. Вы можете использовать Azure CLI для подготовки бессерверного развертывания.

@odata.type

Microsoft.Skills.Custom.AmlSkill

Параметры навыка

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

Имя параметра Описание
uri (Требуется для проверки подлинности с использованием ключа) Целевой URI бессерверного развертывания из каталога моделей Microsoft Foundry или URI для оценки веб-конечной точки AML. Допускается только схема URI HTTPS. Поддерживаемые модели из каталога моделей (только бессерверные развертывания):
  • Cohere-embed-v3-english
  • Cohere-embed-v3-многоязычный
  • Cohere-embed-v4
key (Требуется для проверки подлинности ключа) Ключ API поставщика модели.
resourceId (Требуется для проверки подлинности токена) Идентификатор ресурса Azure Resource Manager для поставщика модели. Для сетевой конечной точки AML используйте формат subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name}.
region (Необязательно для аутентификации токена) Регион, в котором развернут поставщик модели. Требуется, если регион отличается от региона службы поиска.
timeout (Необязательно) Время ожидания для HTTP-клиента, выполняющего вызов API. Он должен быть отформатирован как значение XSD "dayTimeDuration", которое является ограниченным подмножеством значения длительности ISO 8601 . Например, PT60S в течение 60 секунд. Если значение не задано, по умолчанию выбирается значение 30 секунд. Время ожидания можно задать как минимум 1 секунду и не более 230 секунд.
degreeOfParallelism (Необязательно) Число параллельных вызовов, которые индексатор делает на указанную конечную точку. Вы можете уменьшить это значение, если ваша конечная точка не справляется с слишком высокой нагрузкой запросов. Вы можете вызвать его, если конечная точка может принимать больше запросов, и вы хотите увеличить производительность индексатора. Если значение не задано, используется значение по умолчанию 5. Можно задать degreeOfParallelism значение не менее 1 и не более 10.

Проверки подлинности

Навык AML предоставляет два варианта проверки подлинности:

  • Аутентификация на основе ключа: Вы предоставляете статический ключ для аутентификации запросов на оценку от навыка AML. Установите параметры uri и key для этого подключения.

  • Аутентификация на основе токенов: Проект Foundry на базе концентратора или онлайн-конечная точка AML развернуты с использованием аутентификации на основе токенов. Служба Поиск с использованием ИИ Azure должна иметь управляемую идентификацию и назначение роли для поставщика моделей. Затем навык AML использует удостоверение службы поиска для проверки подлинности у поставщика моделей, без необходимости использования статических ключей. Удостоверение службы поиска должно иметь роль Владельца или Соавтора. Задайте параметр resourceId, а если служба поиска находится в другом регионе от поставщика модели, задайте параметр region.

Входные параметры навыка

Входные данные навыка — это узел обогащенного документа , созданного во время взлома документов. Например, это может быть корневой документ, нормализованное изображение или содержимое большого двоичного объекта. Для этого навыка нет предопределенных входных данных. Для входных данных следует указать один или несколько узлов, заполненных во время выполнения навыка AML.

Выходные данные навыка

Выходные данные навыка — это новые узлы обогащенного документа, созданного навыком. Для этого навыка нет предопределенных выходных данных. Для выходных данных следует указать узлы, которые можно заполнить из ответа JSON навыка AML.

Пример определения

  {
    "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
    "description": "A custom model that detects the language in a document.",
    "uri": "https://language-model.models.contoso.com/score",
    "context": "/document",
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "detected_language_code"
      }
    ]
  }

Пример структуры входных данных JSON

Эта структура JSON представляет полезную нагрузку, отправляемую в проект на базе хаба Foundry или в онлайн-конечную точку AML. Поля верхнего уровня структуры соответствуют именам, указанным в inputs разделе определения навыка. Значения этих полей берутся из "источников", которые могут быть получены из поля в документе или другого навыка.

{
  "text": "Este es un contrato en Inglés"
}

Пример структуры выходных данных JSON

Выходные данные соответствуют ответу из вашего проекта, основанного на хабе Foundry, или веб-эндпоинта AML. Поставщик модели должен возвращать только данные в формате JSON (что проверяется просмотром заголовка ответа Content-Type) и должен быть объектом, поля которого представляют обогащения, соответствующие "именам" в output, а их значения рассматриваются как содержание обогащений.

{
    "detected_language_code": "es"
}

Встроенное определение формирования

  {
    "@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
    "description": "A sample model that detects the language of sentence",
    "uri": "https://language-model.models.contoso.com/score",
    "context": "/document",
    "inputs": [
      {
        "name": "shapedText",
        "sourceContext": "/document",
        "inputs": [
            {
              "name": "content",
              "source": "/document/content"
            }
        ]
      }
    ],
    "outputs": [
      {
        "name": "detected_language_code"
      }
    ]
  }

Встроенная обработка структуры ввода JSON

{
  "shapedText": { "content": "Este es un contrato en Inglés" }
}

Пример выходной структуры JSON для встроенного форматирования

{
    "detected_language_code": "es"
}

Случаи ошибок

Помимо того, что ваш проект на базе центра Foundry или онлайн-точка доступа AML недоступны или отправляют неуспешные коды состояния, следующие случаи считаются ошибками:

  • Поставщик модели возвращает код успешного выполнения, но ответ указывает, что application/json не является таковым. Таким образом, ответ недействителен, и никакие дополнительные обработки не выполняются.

  • Поставщик модели возвращает недопустимый код JSON.

Если поставщик модели недоступен или возвращает ошибку HTTP, в историю выполнения индексатора добавляется понятная ошибка со всеми доступными сведениями об ошибке HTTP.