Compartir a través de


Llamar a los puntos de conexión del modelo de aprendizaje automático desde Dataflow Gen2 (versión preliminar)

Importante

Esta característica se encuentra en versión preliminar.

Microsoft Fabric Dataflow Gen2 puede llamar a los puntos de conexión del modelo de aprendizaje automático para obtener predicciones en tiempo real durante la transformación de datos. Esta integración le permite enriquecer los datos aplicando modelos de aprendizaje automático entrenados como parte de la canalización de flujo de datos. Puede invocar los extremos del modelo mediante la autenticación de entidad de servicio a través de las funciones de consulta M.

Prerrequisitos

Antes de poder llamar a los puntos de conexión del modelo de ML desde Dataflow Gen2, asegúrese de que tiene lo siguiente:

Configuración de permisos de entidad de servicio

Para permitir que el service principal llame a los puntos de conexión del modelo de Machine Learning, debe concederle los permisos adecuados.

  1. Vaya al área de trabajo que contiene el modelo de Machine Learning en Fabric.

  2. Seleccione Administrar acceso en el menú del área de trabajo.

  3. Seleccione Agregar personas o grupos.

  4. Busque el principal de servicio por su nombre de aplicación o ID de cliente.

  5. Asigne al principal del servicio al menos el rol de Colaborador para acceder a los puntos de conexión del modelo e invocarlos.

Obtención de la dirección URL del punto de conexión y los detalles de autenticación

Antes de crear la función de consulta M, recopile la siguiente información:

  1. Dirección URL del punto de conexión: vaya al modelo de Machine Learning en Fabric y copie la dirección URL del punto de conexión de la sección Detalles del punto de conexión.

    Captura de pantalla que muestra dónde encontrar la dirección URL del punto de conexión del modelo de Machine Learning.

  2. ID de inquilino: Busque su ID de inquilino en Azure Portal bajo Microsoft Entra ID.

  3. ID de cliente: Busque el ID de cliente de la entidad de servicio en el portal de Azure.

  4. Secreto de cliente: Cree o recupere un secreto de cliente para la entidad de servicio desde el portal de Azure.

Crea una función de consulta M para llamar al punto de conexión

En Dataflow Gen2, puede crear una función de consulta M personalizada que se autentique mediante el principal del servicio y llame al punto de conexión del modelo de aprendizaje automático.

  1. En tu Dataflow Gen2, seleccione Obtener datos>consulta en blanco.

  2. O bien, obtenga los datos que desea enriquecer y, a continuación, abra el Editor avanzado en la pestaña Inicio .

  3. Reemplace la consulta por el código de función M siguiente:

    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
    
  4. Cambie el nombre de la consulta a CallMLEndpoint haciendo clic con el botón derecho en la consulta en el panel Consultas .

Uso de la función en el flujo de datos

Una vez creada la función, puede usarla para llamar al punto de conexión de ML para cada fila de los datos:

  1. Cargue o conéctese a los datos de origen en el flujo de datos.

  2. Agregue una columna personalizada que invoque la función de punto de conexión de ML. Seleccione Agregar columna>Personalizada columna.

  3. Use la fórmula siguiente para llamar al punto de conexión (reemplace los parámetros por los valores reales):

    CallMLEndpoint(
        "<your-machine-learning-endpoint-url>",
        "<your-tenant-id>",
        "<your-client-id>",
        "<your-client-secret>",
        [input1 = [Column1], input2 = [Column2]]
    )
    
  4. La función devuelve el resultado de la predicción del modelo de aprendizaje automático, que puede expandir y usar en los pasos de transformación posteriores.

procedimientos recomendados

  • Credenciales seguras: considere la posibilidad de usar parámetros de Dataflow Gen2 o integración de bibliotecas de variables para almacenar valores confidenciales como secretos de cliente en lugar de codificarlos de forma rígida.

  • Manejo de errores: agregue lógica de manejo de errores a una consulta M para manejar adecuadamente los errores de punto de conexión o los escenarios de tiempo de espera de manera elegante.

  • Disponibilidad del punto de conexión: asegúrese de que el punto de conexión del modelo de Machine Learning esté activo antes de ejecutar el flujo de datos. Los puntos de conexión inactivos harán que se produzca un error en la actualización del flujo de datos. Deshabilite la capacidad de suspensión automática si desea llamar al punto de conexión de manera constante.

  • Rendimiento: Para grandes conjuntos de datos, llamar a endpoints de machine learning para cada fila puede ser lento. Considere la posibilidad de filtrar o muestrear datos antes de aplicar predicciones.

Consideraciones y limitaciones

  • La autenticación del principal de servicio es necesaria para invocar endpoints de aprendizaje automático desde Dataflow Gen2.
  • La llamada a los puntos de conexión de aprendizaje automático conlleva costos tanto para el procesamiento del flujo de datos como para el consumo del punto de conexión de aprendizaje automático. Monitorice el uso de la capacidad de Fabric adecuadamente.