Навык AML в конвейере обогащения поиска ИИ Azure
Внимание
Поддержка подключений индексатора к каталогу моделей Azure AI Studio доступна в общедоступной предварительной версии в рамках дополнительных условий использования. Предварительный просмотр ИНТЕРФЕЙСОВ REST API поддерживает этот навык.
Навык AML позволяет расширить обогащение ИИ с помощью настраиваемой модели Машинного обучения Azure Machine (AML). После обучения и развертывания модели AML навык AML интегрирует ее с функцией обогащения ИИ.
Как и другие встроенные навыки, навык AML имеет входные и выходные данные. Входные данные отправляются в развернутую конечную точку AML в виде объекта JSON, который выводит полезные данные JSON в качестве ответа вместе с кодом состояния успешности. Данные обрабатываются в географическом расположении, где развернута модель. Ответ должен содержать выходные данные, указанные в вашем навыке AML. Любой другой ответ считается ошибкой, и никакие обогащения не выполняются.
Навык AML можно вызвать с помощью версии API 2024-07-01 или версии API 2024-05-01-preview для подключений к каталогу моделей в Azure AI Studio.
Начиная с 2024-05-01-preview REST API и в портал Azure (который также предназначен для предварительной версии 2024-05-05-01-preview), в службе поиска ИИ Azure появился векторизатор каталога моделей Azure AI Studio для подключений к каталогу моделей в Azure AI Studio. Если вы хотите использовать этот векторизатор для запросов, навык AML является аналогом индексирования для создания внедрения с помощью модели в каталоге моделей Azure AI Studio.
Во время индексирования навык AML может подключиться к каталогу моделей для создания векторов для индекса. Во время запроса запросы могут использовать векторизатор для подключения к той же модели для векторизации текстовых строк для векторного запроса. В этом рабочем процессе навык AML и векторизатор каталога моделей должны использоваться вместе, чтобы вы использовали одну и ту же модель внедрения для индексирования и запросов. Сведения об этом рабочем процессе см. в статье о реализации интегрированной векторизации с помощью моделей из Azure AI Studio .
Примечание.
Индексатор дважды повторяется для определенных стандартных кодов состояния HTTP, возвращаемых из сетевой конечной точки AML. Это такие коды состояния HTTP:
503 Service Unavailable
429 Too Many Requests
Необходимые компоненты
- Рабочая область AML
- Конечные точки в Сети (в режиме реального времени) в этой рабочей области.
@odata.type
Microsoft.Skills.Custom.AmlSkill
Параметры навыков
Параметры зависят от регистра. Какие параметры следует использовать, зависят от того, какая проверка подлинности требуется для конечной точки AML в Сети, если таковые требуются.
Наименование параметра | Description |
---|---|
uri |
(Требуется для проверки подлинности ключа) URI оценки веб-конечной точки AML, в которую отправляется полезные данные JSON . Допускается только схема URI HTTPS. |
key |
(Требуется для проверки подлинности ключа) Ключ для конечной точки AML в сети. |
resourceId |
(Требуется для проверки подлинности с помощью маркера). Идентификатор ресурса Azure Resource Manager для сетевой конечной точки AML. Он должен находиться в подписках формата/{guid}/resourceGroups/{resource-group-name}/Microsoft.MachineLearningServices/workspaces/{workspace-name}/onlineendpoints/{endpoint_name}. |
region |
(Необязательно для проверки подлинности с помощью маркера). Регион, в который развертывается конечная точка AML в сети. |
timeout |
(Необязательно.) Если указано, означает время ожидания вызова API HTTP-клиента. Значение должно быть отформатировано как значение dayTimeDuration XSD (ограниченное подмножество значения продолжительности ISO 8601 ). Например, PT60S для 60 секунд. Если не задано, выбирается значение по умолчанию — 30 секунд. Время ожидания можно задать в диапазоне от 1 до 230 секунд. |
degreeOfParallelism |
(Необязательно) При указании указывает количество вызовов индексатора параллельно с предоставленной конечной точкой. Это значение можно уменьшить, если конечная точка завершается сбоем слишком высокой нагрузки запроса. Вы можете вызвать его, если конечная точка может принимать больше запросов, и вы хотите увеличить производительность индексатора. Если не задано, используется значение по умолчанию — 5 секунд. Для параметра degreeOfParallelism можно задать значение в диапазоне 1–10. |
Используемые параметры навыка
Какие параметры навыка AML требуются, зависит от того, какую проверку подлинности использует конечная точка AML в Сети, если она используется. Сетевые конечные точки AML предоставляют два варианта проверки подлинности:
- Проверка подлинности на основе ключей. Статический ключ предоставляется для проверки подлинности запросов оценки из навыков AML
- Используйте параметры uri и key.
- Проверка подлинности на основе маркеров. Конечная точка AML в сети развертывается с помощью проверки подлинности на основе маркеров. Управляемое удостоверение azure AI служба должно быть включено. Затем навык AML использует управляемое удостоверение службы для проверки подлинности в сетевой конечной точке AML без статических ключей. Удостоверение должно быть назначено владельцем или ролью участника.
- Используйте параметр resourceId.
- Если служба поиска находится в другом регионе, отличном от рабочей области AML, используйте параметр региона , чтобы задать регион, в который была развернута конечная точка AML в Сети
Входные данные навыков
Предварительно заданные входные данные для этого навыка отсутствуют. Вы можете выбрать одно или несколько полей, которые уже будут доступны во время выполнения этого навыка в качестве входных данных, а полезные данные JSON , отправленные в конечную точку AML в Интернете, будут иметь разные поля.
Выходные данные навыка
Предварительно заданные выходные данные для этого навыка отсутствуют. В зависимости от ответа, возвращаемого веб-конечной точкой AML, добавьте поля выходных данных, чтобы их можно было забрать из ответа JSON .
Пример определения
{
"@odata.type": "#Microsoft.Skills.Custom.AmlSkill",
"description": "A sample model that detects the language of sentence",
"uri": "https://contoso.count-things.com/score",
"context": "/document",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "detected_language_code"
}
]
}
Пример структуры входных данных JSON
Эта структура JSON представляет полезные данные, отправляемые в конечную точку AML в сети. Поля верхнего уровня структуры соответствуют именам, указанным в inputs
разделе определения навыка. Значения этих полей являются из этих полей (которые могут быть из source
поля в документе или потенциально из другого навыка).
{
"text": "Este es un contrato en Inglés"
}
Пример структуры выходных данных JSON
Выходные данные соответствуют ответу, возвращенному из веб-конечной точки AML. Конечная точка 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://contoso.count-things.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"
}
Варианты ошибок
Помимо недоступности AML или отправки неуправляемых кодов состояния, такие случаи считаются ошибочными:
- Если конечная точка AML в Сети возвращает код состояния успешного выполнения, но ответ указывает на то, что это не
application/json
так, ответ считается недопустимым и не выполняется обогащения. - Если конечная точка AML в Сети возвращает недопустимый json
В случаях, когда конечная точка AML в сети недоступна или возвращает ошибку HTTP, в журнал выполнения индексатора будет добавлена любая доступная ошибка с доступными сведениями об ошибке HTTP.