Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Vigtigt!
Denne funktion er i prøveversion.
Microsoft Fabric Dataflow Gen2 kan kalde maskinlæringsmodel-endpoints for at få realtidsforudsigelser under datatransformation. Denne integration gør det muligt for dig at berige dine data ved at anvende trænede maskinlæringsmodeller som en del af din dataflow-pipeline. Du kan påkalde modelendepunkter ved hjælp af service principal authentication via M-forespørgselsfunktioner.
Forudsætninger
Før du kan kalde ML-modelendepunkter fra Dataflow Gen2, skal du sikre dig, at du har følgende:
- Et aktivt maskinlæringsmodel-endpoint i dit Microsoft Fabric-arbejdsområde
- En serviceprincip oprettet i Microsoft Entra ID
- Service-principalen skal have de relevante tilladelser for at få adgang til maskinlæringsmodellens endepunkt i Fabric
- Grundlæggende kendskab til M-forespørgselssprog og Dataflow Gen2
Opsæt service principal-tilladelser
For at tillade din serviceprincipal at kalde maskinlæringsmodel-endpoints, skal du give den de relevante tilladelser:
Navigér til arbejdsområdet, der indeholder din maskinlæringsmodel i Fabric.
Vælg Administrer adgang fra arbejdsområdemenuen.
Vælg Tilføj personer eller grupper.
Søg efter din serviceprincipal efter dens applikationsnavn eller klient-ID.
Tildel tjenesteprincipalen mindst bidragyderrollen til at tilgå og påkalde modelendepunkter.
Få endpoint-URL'en og autentificeringsdetaljerne
Før du opretter din M-forespørgselsfunktion, skal du indsamle følgende information:
Endpoint URL: Navigér til din maskinlæringsmodel i Fabric og kopier endpoint-URL'en fra sektionen Endpoint detaljer .
Lejer-ID: Find dit lejer-ID i Azure-portalen under Microsoft Entra ID.
Klient-ID: Find din service principals applikations-ID (klient-) ID i Azure-portalen.
Klienthemmelighed: Opret eller hent en klienthemmelighed for din tjenesteprincipal fra Azure-portalen.
Opret en M-forespørgselsfunktion til at kalde endepunktet
I Dataflow Gen2 kan du oprette en brugerdefineret M-forespørgselsfunktion, der autentificerer ved hjælp af service principal og kalder ML-modellens endepunkt.
I din Dataflow Gen2 vælger du Get data>Blank-forespørgsel.
Eller få de data, du vil berige og derefter åbne Advanced Editor fra fanen Hjem .
Erstat forespørgslen med følgende M-funktionskode:
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 CallMLEndpointOmdøb forespørgslen til CallMLEndpoint ved at højreklikke på forespørgslen i forespørgselspanelet .
Brug funktionen i dit dataflow
Når du har oprettet funktionen, kan du bruge den til at kalde ML-endpointet for hver række i dine data:
Indlæs eller forbind til dine kildedata i dataflowet.
Tilføj en brugerdefineret kolonne, der kalder ML-endpointfunktionen. Vælg Tilføj kolonne>Brugerdefineret kolonne.
Brug følgende formel til at kalde dit endpoint (erstat parametrene med dine faktiske værdier):
CallMLEndpoint( "<your-machine-learning-endpoint-url>", "<your-tenant-id>", "<your-client-id>", "<your-client-secret>", [input1 = [Column1], input2 = [Column2]] )Funktionen returnerer forudsigelsesresultatet fra maskinlæringsmodellen, som du kan udvide og bruge i efterfølgende transformationstrin.
Anbefalede fremgangsmåder
Sikre legitimationsoplysninger: Overvej at bruge Dataflow Gen2-parametre eller variabelbibliotekintegration til at gemme følsomme værdier som klienthemmeligheder i stedet for at hardkode dem.
Fejlhåndtering: Tilføj fejlhåndteringslogik til din M-forespørgsel for elegant at håndtere endpoint-fejl eller timeout-scenarier.
Endpoint-tilgængelighed: Sørg for, at dit maskinlæringsmodel-endpoint er aktivt, før du kører dataflowet. Inaktive endpoints vil få dataflow-opdateringen til at fejle. Deaktiver auto-sleep-funktionen, hvis du vil kunne kalde endpointet konsekvent.
Ydeevne: Kald på maskinlæringsendepunkter for hver række kan være langsomt for store datasæt. Overvej filtrering eller udtagning af data, før du anvender forudsigelser.
Overvejelser og begrænsninger
- Service principal-autentificering er påkrævet for at kalde maskinlæringsendepunkter fra Dataflow Gen2.
- Kald af maskinlæringsendepunkter medfører omkostninger både for dataflow-beregningen og forbruget af maskinlæringsendepunkter. Overvåg dit Fabric-kapacitetsforbrug derefter.
Relateret indhold
- Lær mere om maskinlæringsmodel-endpoints
- Udforsk Dataflow Gen2 oversigt
- Læs om service principal-support i Data Factory
- Lær om Dataflow Gen2-parametre