AI-functies: Transformeer data op schaal met LLM's

AI-functies in Microsoft Fabric passen éénregelige, LLM-gestuurde transformaties toe op grote panda's of PySpark DataFrames met één regel codedf.ai.<function_name>(). Ze werken met een hoge mate van gelijktijdigheid door honderden asynchrone inferentieaanroepen te doen, terwijl de isolatie van inhoud op rijniveau behouden blijft. Deze aanpak stelt je in staat om data snel op grote schaal uit ongestructureerde tekst en documenten te verrijken, classificeren, samenvatten en extraheren.

Gebruik deze tabel om naar voorbeelden te gaan in dit overzicht of gedetailleerde pandas- en PySpark-documentatie.

Functie Description Gedetailleerde documentatie
ai.analyze_sentiment Detecteer de emotionele status van invoertekst. voorbeeld van. panda's, PySpark
ai.classify Invoertekst categoriseren op basis van uw labels. voorbeeld van. panda's, PySpark
ai.embed Vector embeddings genereren voor invoertekst. voorbeeld van. panda's, PySpark
ai.extract Extraheer velden zoals locaties, namen of aangepaste entiteiten. voorbeeld van. panda's, PySpark
ai.fix_grammar Spelling, grammatica en leestekens corrigeren. voorbeeld van. panda's, PySpark
ai.generate_response Genereer antwoorden op basis van uw instructies. voorbeeld van. panda's, PySpark
ai.similarity Vergelijk de tekstbetekenis met een waarde of een andere kolom. voorbeeld van. panda's, PySpark
ai.summarize Tekst, bestanden of rijgegevens samenvatten. voorbeeld van. panda's, PySpark
ai.translate Invoertekst vertalen naar een andere taal. voorbeeld van. panda's, PySpark

U kunt AI-functies gebruiken in notebooks met pandas of PySpark, in SQL-query's en in Dataflow Gen2. Fabric verwerkt de eindpuntconfiguratie voor het ingebouwde model.

AI-functies gebruiken in Fabric ervaringen

AI-functies zijn beschikbaar in meerdere Fabric ervaringen:

  • Notebooks: Gebruik de pandas- en PySpark-API's om DataFrames te verrijken in data science- en data engineering-werkstromen.
  • Eindpunt voor warehouse- en SQL-analyse: GEBRUIK AI-functies in een magazijn- of SQL-analyse-eindpunt om SQL-functies aan te roepen, zoals ai_summarize, ai_classifyen ai_generate_response rechtstreeks in T-SQL-query's.
  • Dataflow Gen2: Gebruik Fabric AI-prompt in Gegevensstroom Gen2 om door AI gegenereerde kolommen toe te voegen in Power Query.

Multimodale AI-functies gebruiken

Multimodale AI Functions verwerkt afbeeldingen, PDF-bestanden en tekstbestanden naast tekstwaarden. Gebruik ze om PDF-bestanden samen te vatten, afbeeldingen te classificeren, documentvelden te extraheren of antwoorden te genereren die zijn geaard in bestandsinhoud.

Ondersteunde bestandstypen zijn JPG/JPEG, PNG, statische GIF, WebP, PDF, MD, TXT, CSV, TSV, JSON, XML, PY en andere tekstbestanden. Instellen column_type="path" in pandas of input_col_typecol_types in PySpark. Zie Multimodale invoer gebruiken met AI Functions voor voorbeelden.

Prerequisites

Note

  • AI-functies worden ondersteund in Fabric Runtime 1.3 en hoger.
  • AI-functies [pandas, PySpark, Dataflow Gen2 en Datawarehouse SQL] zijn standaard ingesteld op gpt-5-mini, waarbij reasoning_effort is ingesteld op low. Dit model heeft een contextvenster van 400.000 token en een maximale uitvoer van 128.000 token. Zie de tabel met taalmodellen voor modellimieten en -tarieven.
  • AI-functies leggen gebruikersprompts, invoergegevens of uitvoer niet vast en slaan deze niet op.

Modellen en leveranciers

AI Functions maakt standaard gebruik van het ingebouwde Fabric-eindpunt. U kunt pandas en PySpark AI Functions ook configureren voor het gebruik van LLM die ondersteuning biedt voor de chat_completions of responses API, waaronder:

  • Azure OpenAI-modellen.
  • Microsoft Foundry modellen zoals Qwen, Kimi, Grok, LLaMA, Mistral en meer.

Zie AI-functies aanpassen met pandas en AI-functies aanpassen met PySpark voor configuratieopties.

AI-functies instellen

AI Functions biedt ondersteuning voor pandas in Python- en PySpark-runtimes, en voor PySpark in de PySpark-runtime. Installeer alleen de pakketten die uw runtime nodig heeft.

Afhankelijkheden installeren

Runtime Afhankelijkheden
pandas (Python runtime) Installeer de synapseml_internal- en synapseml_core-wheel-bestanden. Installeer openai versie 1.99.5 of hoger alleen als u sdk-systeemeigen clientgedrag of voorbeelden van Pydantic-antwoordindeling nodig hebt.
pandas (Fabric Runtime 2.0 met PySpark 4.1 en Python 3.13) Installeer nest_asyncio tijdelijk. Installeer openai versie 1.99.5 of hoger alleen als u sdk-systeemeigen clientgedrag of voorbeelden van Pydantic-antwoordindeling nodig hebt.
pandas (andere PySpark-runtimes) Er is geen installatie vereist voor het meeste gebruik. Installeer openai versie 1.99.5 of hoger alleen als u sdk-systeemeigen clientgedrag of voorbeelden van Pydantic-antwoordindeling nodig hebt.
PySpark (PySpark-runtime) Geen installatie vereist.

Note

  • Het installeren van nest_asyncio is een tijdelijke compatibiliteitspatch voor pandas AI-functies in Fabric Runtime 2.0. Deze vereiste zal in een toekomstige update worden verwijderd.
  • PySpark AI-functies vereisen geen extra installatiestappen in de Fabric Spark-runtimes.

Fabric Runtime 2.0, dat gebaseerd is op Python 3.13 en PySpark 4.1, bevat het nest_asyncio pakket niet van nature. Om pandas AI Functions in deze runtime te gebruiken, installeer nest_asyncio als tijdelijke compatibiliteitspatch. In toekomstige updates zal deze eis worden verwijderd omdat pandas AI Functions het nieuwere nest_asyncio2 pakket kan gebruiken, dat vooraf is geïnstalleerd in Fabric Runtime 2.0.

# Temporary compatibility patch for Fabric Runtime 2.0.
%pip install -q nest_asyncio 2>/dev/null

# Optional: install openai version 1.99.5 or later for SDK-native client behavior.
%pip install -q openai 2>/dev/null

Vereiste bibliotheken importeren

Importeer de AI Functions-bibliotheek voor uw runtime.

# Required imports
import synapse.ml.aifunc as aifunc
import pandas as pd

Helperfuncties gebruiken voor bestanden en schema's

AI-functies bevatten helpers voor multimodale werkstromen:

  • aifunc.load: Bestanden uit een map opnemen in een gestructureerde tabel. U kunt een prompt of schema opgeven.
  • aifunc.list_file_paths: Bestands-URL's en paden uit een map opsommen voor gebruik als invoer voor elke AI-functie.
  • ai.infer_schema: een extractieschema afleiden uit bestandsinhoud voor gebruik met ai.extract.

Zie Multimodale invoer gebruiken met AI Functions voor voorbeelden.

AI-functies toepassen

In de volgende voorbeelden ziet u de kern-AI-functies voor pandas en PySpark. PySpark AI Functions worden uitgevoerd als gedistribueerde Spark-transformaties in Fabric Spark-clusters.

Note

De meeste AI Functions ondersteunen bestandspaden met column_type="path" in pandas of input_col_type/col_types="path" in PySpark. Zie Multimodale invoer gebruiken met AI Functions voor voorbeelden.

Tip

Het standaardmodel Python is gpt-5-mini met reasoning_effort="low". Zie pandas-configuratie of PySpark-configuratie als u modellen wilt wijzigen of instellingen wilt afstemmen.

ai.analyze_sentiment: Gevoel detecteren

De ai.analyze_sentiment functie labelt elke invoer als positief, negatief, gemengd of neutraal. U kunt ook aangepaste labels opgeven.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "The cleaning spray permanently stained my beautiful kitchen counter. Never again!",
        "I used this sunscreen on my vacation to Florida, and I didn't get burned at all. Would recommend.",
        "I'm torn about this speaker system. The sound was high quality, though it didn't connect to my roommate's phone.",
        "The umbrella is OK, I guess."
    ], columns=["reviews"])

df["sentiment"] = df["reviews"].ai.analyze_sentiment()
display(df)

Schermopname van een gegevensframe met kolommen 'reviews' en 'sentiment'. De kolom 'sentiment' bevat 'negatief', 'positief', 'gemengd' en 'neutraal'.

ai.classify: Tekst categoriseren

De ai.classify functie categoriseert invoertekst met behulp van de labels die u opgeeft.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])

df["category"] = df['descriptions'].ai.classify("kitchen", "bedroom", "garage", "other")
display(df)

Schermopname van een gegevensframe met 'beschrijvingen' en 'categorie'-kolommen. De kolom Categorie bevat de categorienaam van elke beschrijving.

ai.embed: Vector embeddings genereren

De ai.embed functie converteert tekst naar numerieke vectoren die semantische betekenis vastleggen. Gebruik insluitingen voor overeenkomsten zoeken, ophalen en machine learning-werkstromen.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "This duvet, lovingly hand-crafted from all-natural fabric, is perfect for a good night's sleep.",
        "Tired of friends judging your baking? With these handy-dandy measuring cups, you'll create culinary delights.",
        "Enjoy this *BRAND NEW CAR!* A compact SUV perfect for the professional commuter!"
    ], columns=["descriptions"])
    
df["embed"] = df["descriptions"].ai.embed()
display(df)

Schermopname van een gegevensframe met kolommen 'beschrijvingen' en 'insluiten'. De kolom 'insluiten' bevat insluitingsvectoren voor de beschrijvingen.

ai.extract: Entiteiten extraheren

De ai.extract functie extraheert velden zoals namen, locaties of aangepaste entiteiten uit invoertekst.

Gestructureerde labels

Gebruik ExtractLabel deze functie wanneer u getypte extractie nodig hebt. Het ondersteunt JSON-schemaconstructies zoals getypte velden, enums, matrices, geneste objecten, null-waarden, vereiste eigenschappen en additionalProperties=false. Zie pandas of PySpark voor voorbeelden.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "MJ Lee lives in Tucson, AZ, and works as a software engineer for Microsoft.",
        "Kris Turner, a nurse at NYU Langone, is a resident of Jersey City, New Jersey."
    ], columns=["descriptions"])

df_entities = df["descriptions"].ai.extract("name", "profession", "city")
display(df_entities)

Schermopname van een nieuw gegevensframe met de kolommen 'name', 'profession' en 'city', met daarin de gegevens die zijn geëxtraheerd uit het oorspronkelijke gegevensframe.

ai.fix_grammar: Grammatica herstellen

De ai.fix_grammar functie corrigeert de spelling, grammatica en interpunctie.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "There are an error here.",
        "She and me go weigh back. We used to hang out every weeks.",
        "The big picture are right, but you're details is all wrong."
    ], columns=["text"])

df["corrections"] = df["text"].ai.fix_grammar()
display(df)

Schermopname van een gegevensframe met een kolom 'tekst' en een 'correcties'-kolom, die de tekst uit de tekstkolom met gecorrigeerde grammatica bevat.

ai.generate_response: Aangepaste gebruikersprompts toepassen

Met de ai.generate_response functie maakt u aangepaste tekst op basis van uw prompt- en rijgegevens.

Optionele parameters

Gebruik response_format deze indeling wanneer u gestructureerde uitvoer nodig hebt, waaronder JSON-objecten, JSON-schema' of Pydantic-modellen. Zie pandas of PySpark voor voorbeelden.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        ("Scarves"),
        ("Snow pants"),
        ("Ski goggles")
    ], columns=["product"])

df["response"] = df.ai.generate_response("Write a short, punchy email subject line for a winter sale.")
display(df)

Schermopname van een gegevensframe met de kolommen 'product' en 'response'. De kolom 'antwoord' bevat een ponserige onderwerpregel voor het product.

ai.similarity: gelijkenis berekenen

De ai.similarity functie vergelijkt elke invoerwaarde met één verwijzingswaarde of met een waarde in een andere kolom. Scores variëren van -1 voor tegenovergestelde betekenis tot 1 voor identieke betekenis.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([ 
        ("Bill Gates", "Technology"), 
        ("Satya Nadella", "Healthcare"), 
        ("Joan of Arc", "Agriculture") 
    ], columns=["names", "industries"])
    
df["similarity"] = df["names"].ai.similarity(df["industries"])
display(df)

Schermopname van een gegevensframe met de kolommen 'names', 'industries' en 'similarity'. De kolom 'gelijkenis' heeft overeenkomstenscores voor de naam en branche.

ai.summarize: Tekst samenvatten

Met ai.summarize de functie worden tekst, bestandsinhoud, één kolom of alle kolommen in elke rij samengevat.

Samenvattingen aanpassen met instructies

Gebruik instructions dit om toon, lengte, doelgroep of focus te bepalen. Zie pandas of PySpark voor voorbeelden.

# This code uses AI. Always review output for mistakes.

df= pd.DataFrame([
        ("Microsoft Teams", "2017",
        """
        The ultimate messaging app for your organization—a workspace for real-time 
        collaboration and communication, meetings, file and app sharing, and even the 
        occasional emoji! All in one place, all in the open, all accessible to everyone.
        """),
        ("Microsoft Fabric", "2023",
        """
        An enterprise-ready, end-to-end analytics platform that unifies data movement, 
        data processing, ingestion, transformation, and report building into a seamless, 
        user-friendly SaaS experience. Transform raw data into actionable insights.
        """)
    ], columns=["product", "release_year", "description"])

df["summaries"] = df["description"].ai.summarize()
display(df)

Schermopname van een gegevensframe. De kolom Samenvattingen bevat alleen een samenvatting van de kolom 'beschrijving', in de bijbehorende rij.

ai.translate: Tekst vertalen

De ai.translate functie vertaalt tekst naar een andere taal.

# This code uses AI. Always review output for mistakes. 

df = pd.DataFrame([
        "Hello! How are you doing today?", 
        "Tell me what you'd like to know, and I'll do my best to help.", 
        "The only thing we have to fear is fear itself."
    ], columns=["text"])

df["translations"] = df["text"].ai.translate("spanish")
display(df)

Schermopname van een gegevensframe met kolommen 'tekst' en 'vertalingen'. De kolom 'vertalingen' bevat de tekst die naar het Spaans is vertaald.

PySpark AI-functies aaneenschakelen

PySpark AI Functions geven DataFrames terug die de df.ai accessor gebonden houden aan het resulterende schema. Ketentransformaties zonder tussenliggende DataFrames te materialiseren.

# This code uses AI. Always review output for mistakes.

output = (
    df
    .ai.summarize(input_col="review_text", output_col="summary")
    .ai.classify(
        labels=["service", "cleanliness", "location", "other"],
        input_col="summary",
        output_col="category",
    )
)
display(output)

Gebruiksstatistieken weergeven met ai.stats

Gebruik ai.stats op een door AI gegenereerde reeks of DataFrame om metrische gegevens over gebruik en uitvoering te controleren.

ai.stats retourneert een DataFrame met statistieken zoals:

  • num_successful: Het aantal rijen dat is verwerkt door de AI-functie.
  • num_exceptions: Het aantal rijen dat tijdens de uitvoering een uitzondering heeft aangetroffen. Deze rijen worden weergegeven als exemplaren van aifunc.ExceptionResult.
  • num_unevaluated: Het aantal rijen dat niet is verwerkt omdat een eerdere uitzondering het onmogelijk maakte om door te gaan met de evaluatie. Deze rijen worden weergegeven als exemplaren van aifunc.NotEvaluatedResult.
  • num_harmful: Het aantal rijen dat is geblokkeerd door het Azure OpenAI-inhoudsfilter. Deze rijen worden weergegeven als exemplaren van aifunc.FilterResult.
  • cached_tokens: Totaal aantal invoertokens in de cache.
  • input_tokens: Het totale aantal invoertokens dat wordt gebruikt voor de AI-functie-aanroep.
  • output_tokens: Het totale aantal uitvoertokens dat door het model is gegenereerd.
  • reasoning_tokens: Totaal aantal redeneringstokens dat wordt gebruikt door redeneermodellen.
  • model: Modelimplementatienaam die wordt gebruikt voor de AI-functie-aanroep.

De uitvoer kan eruitzien als deze tabel:

num_successful num_exceptions num_unevaluated num_harmful cached_tokens input_tokens output_tokens redeneringssymbolen client_type input_types model
2 0 0 0 0 555 4 0 fabric_llm_endpoint {"text": 2} gpt-5-mini

Tip

Gebruik ai.stats dit om gebruik, foutpatronen en tokenverbruik bij te houden.

Rijen die de capaciteitslimiet bereiken, worden weergegeven als instanties van aifunc.CapacityExceededResult. Gebruik in Pandas-workflows aifunc.split_results om geslaagde uitvoer te scheiden van resultaten zonder uitkomst, zodat u rijen die door capaciteit worden beperkt kunt inspecteren en die opnieuw kunt proberen zodra er weer capaciteit beschikbaar is of de beperking is opgelost.

Kostentransparantie

Pandas AI Functions kan tokenaantallen en schattingen van capaciteitseenheden weergeven tijdens de uitvoering met progress_bar_mode="stats". Gebruik voor PySpark df.ai.stats op de resulterende DataFrame.

De Fabric Capacity Metrics-app rapporteert het verbruik van modelaanroepen onder de bewerking AI Functions. Zie Facturering voor AI-functies voor meer informatie.

Evalueren en versnellen

Gebruik de AI Functions Starter Notebooks voor end-to-end pandas- en PySpark-voorbeelden. Gebruik de AI Functions Eval Notebooks om de uitvoerkwaliteit vóór de productie te beoordelen.