AI-funktioner: Transformera data i stor skala med LLM:er

AI-funktioner i Microsoft Fabric tillämpar enrads-transformationer med LLM på stora pandas eller PySpark DataFrames med en kodraddf.ai.<function_name>(). De körs med hög samtidighet genom att göra hundratals asynkrona inferensanrop samtidigt som de upprätthåller innehållsisolering på radnivå. Detta tillvägagångssätt gör det möjligt att snabbt berika, klassificera, sammanfatta och extrahera data från ostrukturerad text och dokument i stor skala.

Använd den här tabellen om du vill gå vidare till exempel i den här översikten eller detaljerad pandas- och PySpark-dokumentation.

Function Description Detaljerad dokumentation
ai.analyze_sentiment Identifiera det emotionella tillståndet i indatatexten. Exempel. pandor, PySpark
ai.classify Kategorisera indatatext enligt dina etiketter. Exempel. pandor, PySpark
ai.embed Generera vektorinbäddningar för indatatext. Exempel. pandor, PySpark
ai.extract Extrahera fält som platser, namn eller anpassade entiteter. Exempel. pandor, PySpark
ai.fix_grammar Korrigera stavning, grammatik och skiljetecken. Exempel. pandor, PySpark
ai.generate_response Generera svar baserat på dina instruktioner. Exempel. pandor, PySpark
ai.similarity Jämför text mening med ett värde eller en annan kolumn. Exempel. pandor, PySpark
ai.summarize Sammanfatta text, filer eller raddata. Exempel. pandor, PySpark
ai.translate Översätta indatatext till ett annat språk. Exempel. pandor, PySpark

Du kan använda AI Functions i notebook-filer med Pandas eller PySpark, i SQL-frågor och i Dataflow Gen2. Fabric hanterar slutpunktskonfigurationen för den inbyggda modellen.

Använd AI Functions i hela Fabric-upplevelsen

AI Functions är tillgängliga i flera Fabric upplevelser:

  • Anteckningsböcker: Använd pandas- och PySpark-API:erna för att berika DataFrames i arbetsflöden för datavetenskap och datateknik.
  • Lager- och SQL-analys-slutpunkt: Använd AI Functions i ett lager eller en SQL-analys-slutpunkt för att anropa SQL-anpassade funktioner som ai_summarize, ai_classify och ai_generate_response direkt i T-SQL-frågor.
  • Dataflow Gen2: Använd Fabric AI Prompt i Dataflow Gen2 för att lägga till AI-genererade kolumner i Power Query.

Använda multimodala AI-funktioner

Multimodal AI Functions bearbetar bilder, PDF-filer och textfiler utöver textvärden. Använd dem för att sammanfatta PDF-filer, klassificera bilder, extrahera dokumentfält eller generera svar som baseras på filinnehåll.

Filtyper som stöds är JPG/JPEG, PNG, statisk GIF, WebP, PDF, MD, TXT, CSV, TSV, JSON, XML, PY och andra textfiler. Ställ in column_type="path" i pandas, eller input_col_type eller col_types i PySpark. Exempel finns i Använda multimodala indata med AI Functions.

Prerequisites

Note

  • AI Functions stöds i Fabric Runtime 1.3 och senare.
  • AI-funktioner [pandas, PySpark, Dataflow Gen2 och Datawarehouse SQL] går som standard till gpt-5-mini med reasoning_effort satt till low. Den här modellen har ett kontextfönster på 400 000 token och ett maximalt utdata på 128 000 token. För modellgränser och priser, se tabellen med språkmodeller.
  • AI Functions loggar eller lagrar inte användarfrågor, indata eller utdata.

Modeller och leverantörer

AI Functions använder den inbyggda Fabric slutpunkten som standard. Du kan också konfigurera Pandas och PySpark AI Functions att använda alla LLM som stöder API:et chat_completions eller responses , inklusive:

  • Azure OpenAI-modeller.
  • Microsoft Foundry-modeller som Qwen, Kimi, Grok, LLaMA, Mistral med mera.

Konfigurationsalternativ finns i Anpassa AI-funktioner med Pandas och Anpassa AI-funktioner med PySpark.

Konfigurera AI-funktioner

AI Functions stöder pandas i Python-körningsmiljöer och PySpark i PySpark-körningsmiljön. Installera endast de paket som din körning behöver.

Installera beroenden

Runtime Beroenden
pandas (Python-körmiljö) Installera synapseml_internal- och synapseml_core-wheel-filerna. Installera openai endast version 1.99.5 eller senare om du behöver SDK-internt klientbeteende eller pydantiska svarsformatexempel.
pandas (Fabric Runtime 2.0 med PySpark 4.1 och Python 3.13) Installera nest_asynciotillfälligt. Installera openai endast version 1.99.5 eller senare om du behöver SDK-internt klientbeteende eller pydantiska svarsformatexempel.
pandas (andra PySpark-körtider) Ingen installation krävs för den mesta användningen. Installera openai endast version 1.99.5 eller senare om du behöver SDK-internt klientbeteende eller pydantiska svarsformatexempel.
PySpark (PySpark-körmiljö) Ingen installation krävs.

Note

  • Att installera nest_asyncio är en tillfällig kompatibilitetspatch för AI-funktionerna i pandas i Fabric Runtime 2.0. Detta krav kommer att tas bort i en framtida uppdatering.
  • PySpark AI-funktioner kräver inga ytterligare installationssteg i Fabric Spark-runtimes.

Fabric Runtime 2.0, som är baserat på Python 3.13 och PySpark 4.1, inkluderar inte paketet nest_asyncio som nativt. För att använda pandas AI Functions i denna runtime, installera nest_asyncio som en tillfällig kompatibilitetspatch. I framtida uppdateringar kommer detta krav att tas bort eftersom pandas AI Functions kan använda det nyare nest_asyncio2 paketet, som är förinstallerat i 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

Importera nödvändiga bibliotek

Importera AI Functions-biblioteket för din körmiljö.

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

Använda hjälpfunktioner för filer och scheman

AI Functions innehåller hjälpfunktioner för multimodala arbetsflöden:

  • aifunc.load: Mata in filer från en mapp i en strukturerad tabell. Du kan ange en fråga eller ett schema.
  • aifunc.list_file_paths: Räkna upp fil-URL:er och sökvägar från en mapp för användning som indata till alla AI-funktioner.
  • ai.infer_schema: Härled ett extraheringsschema från filinnehållet för användning med ai.extract.

Exempel finns i Använda multimodala indata med AI Functions.

Använd AI-funktioner

I följande exempel visas ai-kärnfunktionerna för Pandas och PySpark. PySpark AI Functions körs som distribuerade Spark-transformeringar i Fabric Spark-kluster.

Note

De flesta AI-funktioner stöder filsökvägar med column_type="path" i pandas eller input_col_type/col_types="path" i PySpark. Exempel finns i Använda multimodala indata med AI Functions.

Tip

Standardmodellen Python är gpt-5-mini med reasoning_effort="low". Information om hur du ändrar modeller eller finjusterar inställningar finns i Pandas-konfiguration eller PySpark-konfiguration.

ai.analyze_sentiment: Identifiera sentiment

Funktionen ai.analyze_sentiment etiketterar varje indata som positiv, negativ, blandad eller neutral. Du kan också ange anpassade etiketter.

# 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)

Skärmbild av en dataram med kolumnerna

ai.classify: Kategorisera text

Funktionen ai.classify kategoriserar indatatext med hjälp av de etiketter som du anger.

# 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)

Skärmbild av en dataram med kolumnerna

ai.embed: Generera vektorbäddningar

Funktionen ai.embed konverterar text till numeriska vektorer som fångar semantisk betydelse. Använd inbäddningar för arbetsflöden för likhetssökning, hämtning och maskininlärning.

# 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)

Skärmbild av en dataram med kolumnerna

ai.extract: Extrahera entiteter

Funktionen ai.extract extraherar fält som namn, platser eller anpassade entiteter från indatatext.

Strukturerade etiketter

Använd ExtractLabel när du behöver typad extrahering. Den stöder JSON-schemakonstruktioner som typerade fält, uppräkningar, matriser, kapslade objekt, null-värden, obligatoriska egenskaper och additionalProperties=false. Exempel finns i Pandas eller PySpark.

# 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)

Skärmbild som visar en ny dataram med kolumnerna

ai.fix_grammar: Åtgärda grammatik

Funktionen ai.fix_grammar korrigerar stavning, grammatik och skiljetecken.

# 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)

Skärmbild som visar en dataram med en textkolumn och en

ai.generate_response: Använd anpassade användarprompter

Funktionen ai.generate_response skapar anpassad text från dina prompt- och raddata.

Valfria parametrar

Använd response_format när du behöver strukturerade utdata, inklusive JSON-objekt, JSON-schema eller pydantiska modeller. Exempel finns i Pandas eller PySpark.

# 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)

Skärmbild som visar en dataram med kolumnerna

ai.similarity: Beräkna likhet

Funktionen ai.similarity jämför varje indatavärde med ett referensvärde eller med ett värde i en annan kolumn. Poängen sträcker sig från -1 för motsatt mening till 1 för identisk betydelse.

# 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)

Skärmbild av en dataram med kolumnerna

ai.summarize: Sammanfatta text

Funktionen ai.summarize sammanfattar text, filinnehåll, en enskild kolumn eller alla kolumner i varje rad.

Anpassa sammanfattningar med instruktioner

Använd instructions för att styra ton, längd, målgrupp eller fokus. Exempel finns i Pandas eller PySpark.

# 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)

Skärmbild som visar en dataram. Kolumnen

ai.translate: Översätta text

Funktionen ai.translate översätter text till ett annat språk.

# 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)

Skärmbild av en dataram med kolumnerna

Kedja samman PySpark AI-funktioner

PySpark AI Functions returnerar DataFrames som håller df.ai accessorn bunden till resultatschemat. Kedjetransformeringar utan materialisering av mellanliggande DataFrames.

# 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)

Visa användningsstatistik med ai.stats

Använd ai.stats på en AI-genererad Series eller DataFrame för att granska användnings- och körningsmätvärden.

ai.stats returnerar en DataFrame med statistik som:

  • num_successful: Antal rader som har bearbetats av AI-funktionen.
  • num_exceptions: Antal rader där ett undantag uppstod under körningen. Dessa rader representeras som instanser av aifunc.ExceptionResult.
  • num_unevaluated: Antal rader som inte bearbetats eftersom ett tidigare undantag gjorde det omöjligt att fortsätta utvärderingen. Dessa rader representeras som instanser av aifunc.NotEvaluatedResult.
  • num_harmful: Antal rader som blockeras av Azure OpenAI-innehållsfiltret. Dessa rader representeras som instanser av aifunc.FilterResult.
  • cached_tokens: Totalt antal cachelagrade indatatoken.
  • input_tokens: Totalt antal indatatoken som används för AI-funktionsanropet.
  • output_tokens: Totalt antal utdatatoken som genererats av modellen.
  • reasoning_tokens: Totalt antal resonemangstoken som används av resonemangsmodeller.
  • model: Namn på modelldistributionen som används för AI-funktionsanrop.

Utdata kan se ut som i den här tabellen:

num_successful num_exceptions num_unevaluated num_harmful cached_tokens input_tokens output_tokens reasoning_tokens klienttyp indatatyper model
2 0 0 0 0 555 4 0 fabric_llm_endpoint {"text": 2} gpt-5-mini

Tip

Använd ai.stats för att spåra användning, felmönster och tokenförbrukning.

Rader som når kapacitetsgränserna visas som instanser av aifunc.CapacityExceededResult. I Pandas-arbetsflöden använder aifunc.split_results du för att separera lyckade utdata från icke-resultat, så att du kan inspektera kapacitetsbegränsade rader och försöka igen när kapaciteten är tillgänglig eller om gränsen har åtgärdats.

Kostnadstransparens

Pandas AI Functions kan visa tokenantal och kapacitetsenhetsuppskattningar under körningen med progress_bar_mode="stats". För PySpark använder du df.ai.stats på resultatet DataFrame.

Appen Fabric Capacity Metrics rapporterar modellanropsförbrukning som AI Functions-åtgärd. Mer information finns i Fakturering för AI Functions.

Utvärdera och påskynda

Använd AI Functions Starter Notebooks för heltäckande exempel med pandas och PySpark. Använd AI Functions Eval Notebooks för att utvärdera utdatakvaliteten före produktion.