Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Эта функция доступна в предварительной версии.
Microsoft Fabric Dataflow 2-го поколения может вызывать конечные точки модели машинного обучения для получения прогнозов в режиме реального времени во время преобразования данных. Эта интеграция позволяет обогатить данные, применяя обученные модели машинного обучения в рамках конвейера потока данных. Конечные точки модели можно вызывать с помощью проверки подлинности субъекта-службы с помощью функций запросов M.
Предпосылки
Прежде чем вызывать конечные точки модели машинного обучения из Dataflow 2-го поколения, убедитесь, что у вас есть следующие возможности:
- Активная конечная точка модели машинного обучения в рабочей области Microsoft Fabric
- Субъект-служба , созданный в идентификаторе Microsoft Entra
- Субъект-служба должен иметь соответствующие разрешения для доступа к конечной точке модели машинного обучения в Fabric.
- Базовое знакомство с языком запросов M и потоком данных 2-го поколения
Настройка разрешений служебного принципала
Чтобы разрешить субъекту-службе вызывать конечные точки модели машинного обучения, необходимо предоставить ему соответствующие разрешения:
Перейдите в рабочую область, содержащую модель машинного обучения в Fabric.
Выберите "Управление доступом" в меню рабочей области.
Выберите " Добавить людей или группы".
Найдите субъект-службу по имени приложения или идентификатору клиента.
Назначьте служебному принципалу по крайней мере роль Участника для доступа к конечным точкам модели и вызова.
Получение URL-адреса конечной точки и сведений о проверке подлинности
Перед созданием функции запроса M соберите следующие сведения:
URL-адрес конечной точки: перейдите к модели машинного обучения в Fabric и скопируйте URL-адрес конечной точки из раздела сведений о конечной точке .
Идентификатор клиента. Найдите идентификатор клиента на портале Azure в разделе Идентификатора Microsoft Entra.
Идентификатор клиента: найдите идентификатор приложения (клиента) субъекта-службы на портале Azure.
Секрет клиента: создайте или получите секрет клиента для служебного принципала в портале Azure.
Создание функции запроса M для вызова конечной точки
В Dataflow Gen2 можно создать пользовательскую функцию M-запроса, которая аутентифицируется с помощью учетной записи службы и обращается к конечной точке модели машинного обучения.
В Dataflow Gen2 выберите Получить данные>Пустой запрос.
Или получите данные, которые нужно дополнить, а затем откройте расширенный редактор на вкладке "Главная ".
Замените запрос следующим кодом функции M:
let CallMLEndpoint = (endpointUrl as text, tenantId as text, clientId as text, clientSecret as text, inputData as any) => let // Get access token using service principal tokenUrl = "https://login.microsoftonline.com/" & tenantId & "/oauth2/v2.0/token", tokenBody = "client_id=" & clientId & "&scope=https://api.fabric.microsoft.com/.default" & "&client_secret=" & clientSecret & "&grant_type=client_credentials", tokenResponse = Web.Contents( tokenUrl, [ Headers = [#"Content-Type" = "application/x-www-form-urlencoded"], Content = Text.ToBinary(tokenBody) ] ), tokenJson = Json.Document(tokenResponse), accessToken = tokenJson[access_token], // Call ML endpoint with bearer token requestBody = Json.FromValue(inputData), response = Web.Contents( endpointUrl, [ Headers = [ #"Content-Type" = "application/json", #"Authorization" = "Bearer " & accessToken ], Content = requestBody ] ), result = Json.Document(response) in result in CallMLEndpointПереименуйте запрос в CallMLEndpoint , щелкнув правой кнопкой мыши запрос на панели "Запросы ".
Использование функции в потоке данных
После создания функции его можно использовать для вызова конечной точки машинного обучения для каждой строки в данных:
Загрузите или подключитесь к исходным данным в потоке данных.
Добавьте пользовательский столбец, вызывающий конечную точку машинного обучения. Выберите Добавить столбец>Настраиваемый столбец.
Используйте следующую формулу для вызова конечной точки (замените параметры фактическими значениями):
CallMLEndpoint( "<your-machine-learning-endpoint-url>", "<your-tenant-id>", "<your-client-id>", "<your-client-secret>", [input1 = [Column1], input2 = [Column2]] )Функция возвращает результат прогнозирования из модели машинного обучения, которую можно развернуть и использовать в последующих шагах преобразования.
Лучшие практики
Безопасные учетные данные. Рекомендуется использовать параметры потока данных 2-го поколения или интеграцию библиотеки переменных для хранения конфиденциальных значений, таких как секреты клиента, а не жесткого ввода.
Обработка ошибок. Добавьте логику обработки ошибок в запрос M для корректной обработки сбоев конечных точек или сценариев времени ожидания.
Доступность конечной точки. Убедитесь, что конечная точка модели машинного обучения активна перед запуском потока данных. Неактивные конечные точки вызывают сбой обновления потока данных. Отключите функцию автоматического спящего режима, если вы хотите последовательно вызывать конечную точку.
Производительность. Вызов конечных точек машинного обучения для каждой строки может быть медленным для больших наборов данных. Прежде чем применять прогнозы, рассмотрите возможность фильтрации или выборки данных.
Соображения и ограничения
- Для вызова конечных точек машинного обучения из Dataflow Gen2 требуется проверка подлинности принципала службы.
- Вызов конечных точек машинного обучения взимает затраты как на вычислительные ресурсы потока данных, так и на конечную точку машинного обучения. Отслеживайте использование емкости Fabric соответствующим образом.
Связанный контент
- Дополнительные сведения о конечных точках модели машинного обучения
- Обзор потока данных 2-го поколения
- Читать о поддержке служебного принципала в Фабрике данных
- Сведения о параметрах потока данных 2-го поколения