AI-funksjoner: Transformer data i stor skala med LLM-er

AI-funksjoner i Microsoft Fabric anvender énlinjes, LLM-drevne transformasjoner på store pandaer eller PySpark DataFrames med én kodelinjedf.ai.<function_name>(). De kjører med høy samtidighet ved å gjøre hundrevis av asynkrone inferenskall, samtidig som de beholder radnivå-innholdsisolasjon. Denne tilnærmingen gjør det mulig å berike, klassifisere, oppsummere og hente ut data raskt fra ustrukturert tekst og dokumenter i stor skala.

Bruk denne tabellen for å hoppe til eksempler i denne oversikten eller detaljert pandas- og PySpark-dokumentasjon.

Funksjon Beskrivelse Detaljert dokumentasjon
ai.analyze_sentiment Oppdag den emosjonelle tilstanden til inntastet tekst. Eksempel. pandaer, PySpark
ai.classify Kategoriser inndatateksten etter etikettene dine. Eksempel. pandaer, PySpark
ai.embed Generer vektorinnlegg for inndatatekst. Eksempel. pandaer, PySpark
ai.extract Hent ut felt som lokasjoner, navn eller egendefinerte enheter. Eksempel. pandaer, PySpark
ai.fix_grammar Korrekt staving, grammatikk og tegnsetting. Eksempel. pandaer, PySpark
ai.generate_response Generer svar basert på instruksjonene dine. Eksempel. pandaer, PySpark
ai.similarity Sammenlign tekstens betydning med én eller annen kolonne. Eksempel. pandaer, PySpark
ai.summarize Oppsummer tekst, filer eller raddata. Eksempel. pandaer, PySpark
ai.translate Oversett inndatateksten til et annet språk. Eksempel. pandaer, PySpark

Du kan bruke AI-funksjoner i notatbøker med pandas eller PySpark, i SQL-spørringer og i Dataflow Gen2. Fabric håndterer endepunktoppsettet for den innebygde modellen.

Bruk AI-funksjoner på tvers av Fabric-opplevelser

AI-funksjoner er tilgjengelige i flere Fabric-opplevelser:

  • Notatbøker: Bruk pandas- og PySpark-API-ene for å berike DataFrames i datavitenskap og dataingeniørarbeidsflyter.
  • Lager- og SQL-analyseendepunkt: Bruk AI-funksjoner i et lager eller SQL-analyseendepunkt for å kalle SQL-inspirerte funksjoner som ai_summarize, ai_classify, og ai_generate_response direkte i T-SQL-spørringer.
  • Dataflow Gen2: Bruk Fabric AI Prompt i Dataflow Gen2 for å legge til AI-genererte kolonner i Power Query.

Bruk multimodale AI-funksjoner

Multimodale AI-funksjoner behandler bilder, PDF-er og tekstfiler i tillegg til tekstverdier. Bruk dem til å oppsummere PDF-er, klassifisere bilder, hente ut dokumentfelt eller generere svar basert på filinnhold.

Støttede filtyper inkluderer JPG/JPEG, PNG, statisk GIF, WebP, PDF, MD, TXT, CSV, TSV, JSON, XML, PY og andre tekstfiler. Handlingen foregår column_type="path" i pandaer, eller input_col_type i col_types PySpark. For eksempler, se Bruk multimodal input med AI-funksjoner.

Prerequisites

Note

  • AI-funksjoner støttes i Fabric Runtime 1.3 og senere.
  • AI-funksjoner [pandas, PySpark, Dataflow Gen2 og Datawarehouse SQL] er standard til gpt-5-mini med reasoning_effort satt til low. Denne modellen har et kontekstvindu på 400 000 tokens og en maksimal utgang på 128 000 tokens. For modellgrenser og -hastigheter, se tabellen for språkmodeller.
  • AI-funksjoner logger eller lagrer ikke brukerprompts, input data eller output.

Modeller og leverandører

AI-funksjoner bruker det innebygde Fabric-endepunktet som standard. Du kan også konfigurere pandas og PySpark AI-funksjoner til å bruke enhver LLM som støtter chat_completions eller responses API, inkludert:

  • Azure OpenAI models.
  • Microsoft Foundry-modeller som Qwen, Kimi, Grok, LLaMA, Mistral og flere.

For konfigurasjonsvalg, se Tilpass AI-funksjoner med pandaer og Tilpass AI-funksjoner med PySpark.

Sett opp AI-funksjoner

AI-funksjoner støtter pandas i Python- og PySpark-runtime, og PySpark i PySpark-runtime. Installer kun de pakkene din runtime trenger.

Installer avhengigheter

Kjøretid Avhengigheter
pandas (Python-runtime) Installer og synapseml_internal wheel-filenesynapseml_core. Installer openai versjon 1.99.5 eller nyere kun hvis du trenger SDK-native klientadferd eller eksempler på Pydantic-responsformat.
pandas (Fabric Runtime 2.0 med PySpark 4.1 og Python 3.13) Installer midlertidig nest_asyncio. Installer openai versjon 1.99.5 eller nyere kun hvis du trenger SDK-native klientadferd eller eksempler på Pydantic-responsformat.
pandas (andre PySpark-kjøretider) Ingen installasjon er nødvendig for det meste av bruk. Installer openai versjon 1.99.5 eller nyere kun hvis du trenger SDK-native klientadferd eller eksempler på Pydantic-responsformat.
PySpark (PySpark-kjøretid) Ingen installasjon er nødvendig.

Note

  • Installasjon nest_asyncio er en midlertidig kompatibilitetspatch for pandas AI-funksjoner i Fabric Runtime 2.0. Dette kravet vil bli fjernet i en fremtidig oppdatering.
  • PySpark AI-funksjoner krever ingen ekstra installasjonssteg i Fabric Spark-runtimene.

Fabric Runtime 2.0, som er basert på Python 3.13 og PySpark 4.1, inkluderer nest_asyncio ikke pakken nativt. For å bruke pandas AI-funksjoner i denne kjøretiden, installer nest_asyncio som en midlertidig kompatibilitetspatch. I fremtidige oppdateringer vil dette kravet bli fjernet fordi pandas AI Functions kan bruke den nyere nest_asyncio2 pakken, som er forhåndsinstallert 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

Importer nødvendige biblioteker

Importer AI Functions-biblioteket for kjøretiden din.

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

Bruk hjelpefunksjoner for filer og skjemaer

AI-funksjoner inkluderer hjelpere for multimodale arbeidsflyter:

  • aifunc.load: Importer filer fra en mappe til en strukturert tabell. Du kan gi en prompt eller skjema.
  • aifunc.list_file_paths: Enumerer fil-URL-er og stier fra en mappe for bruk som input til enhver AI-funksjon.
  • ai.infer_schema: Utledes et ekstraksjonsskjema fra filinnholdet for bruk med ai.extract.

For eksempler, se Bruk multimodal input med AI-funksjoner.

Bruk AI-funksjoner

Følgende eksempler viser de grunnleggende AI-funksjonene for pandaer og PySpark. PySpark AI-funksjoner kjører som distribuerte Spark-transformasjoner på tvers av Fabric Spark-klynger.

Note

De fleste AI-funksjoner støtter filstier i column_type="path" pandas eller input_col_type/col_types="path" i PySpark. For eksempler, se Bruk multimodal input med AI-funksjoner.

Tip

Standard Python-modellen er gpt-5-mini med reasoning_effort="low". For å endre modeller eller justere innstillinger, se pandas-konfigurasjon eller PySpark-konfigurasjon.

ai.analyze_sentiment: Oppdag følelser

Funksjonen ai.analyze_sentiment merker hver inngang som positiv, negativ, blandet eller nøytral. Du kan også oppgi egendefinerte 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)

Skjermbilde av en dataramme med kolonnene «anmeldelser» og «sentiment». «Sentiment»-kolonnen inkluderer «negativ», «positiv», «blandet» og «nøytral».

ai.classify: Kategoriser tekst

Funksjonen ai.classify kategoriserer inndatatekst ved å bruke etikettene du oppgir.

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

Skjermbilde av en dataramme med «beskrivelser»- og «kategori»-kolonner. «Kategori»-kolonnen viser kategorinavnet for hver beskrivelse.

ai.embed: Generer vektorinnlegginger

Funksjonen ai.embed konverterer tekst til numeriske vektorer som fanger semantisk betydning. Bruk embeddings for likhetssøk, henting og maskinlæringsarbeidsflyter.

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

Skjermbilde av en dataramme med kolonnene 'beskrivelser' og 'embed'. Kolonnen 'embed' inneholder embed-vektorer for beskrivelsene.

ai.extract: Ekstraherer enheter

Funksjonen ai.extract trekker ut felt som navn, lokasjoner eller egendefinerte enheter fra inndatatekst.

Strukturerte etiketter

Bruk ExtractLabel når du trenger typet ekstraksjon. Den støtter JSON Schema-konstruksjoner som typede felt, enums, matriser, nestede objekter, nullbare verdier, nødvendige egenskaper og additionalProperties=false. For eksempler, se 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)

Skjermbilde som viser en ny dataramme med kolonnene «navn», «yrke» og «by», som inneholder dataene som er hentet ut fra den opprinnelige datarammen.

ai.fix_grammar: Fiks grammatikk

Funksjonen ai.fix_grammar korrigerer rettskrivning, grammatikk og tegnsetting.

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

Skjermbilde som viser en dataramme med en tekstkolonne og en korreksjonskolonne, som har teksten fra tekstkolonnen med korrigert grammatikk.

ai.generate_response: Bruk tilpassede brukerprompts

Funksjonen ai.generate_response lager egendefinert tekst fra prompt- og raddataene dine.

Valgfrie parametere

Bruk response_format når du trenger strukturert utdata, inkludert JSON-objekter, JSON-skjema eller Pydantiske modeller. For eksempler, se 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)

Skjermbilde som viser en dataramme med kolonnene «produkt» og «svar». «Svar»-kolonnen inneholder en slagkraftig emnelinje for produktet.

ai.likhet: Beregn likhet

Funksjonen ai.similarity sammenligner hver inputverdi med én referanseverdi eller med en verdi i en annen kolonne. Poengene varierer fra -1 for motsatt betydning til 1 identisk betydning.

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

Skjermbilde av en dataramme med kolonnene «navn», «bransjer» og «likhet». «Likhet»-kolonnen har likhetspoeng for navn og bransje.

ai.summarize: Oppsummer tekst

Funksjonen ai.summarize oppsummerer tekst, filinnhold, en enkelt kolonne, eller alle kolonnene i hver rad.

Tilpasning av sammendrag med instruksjoner

Bruk instructions den for å kontrollere tone, lengde, publikum eller fokus. For eksempler, se 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)

Skjermbilde som viser en dataramme. «Sammendrag»-kolonnen har bare et sammendrag av «beskrivelse»-kolonnen i den tilsvarende raden.

ai.translate: Oversett tekst

Funksjonen ai.translate oversetter tekst til et annet 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)

Skjermbilde av en dataramme med kolonnene «tekst» og «oversettelser». Kolonnen

Chain PySpark AI-funksjoner

PySpark AI-funksjoner returnerer DataFrames som holder accessoren df.ai bundet til resultatskjemaet. Kjedetransformasjoner uten å materialisere mellomliggende 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)

Se bruksstatistikk med ai.stats

Bruk ai.stats på en AI-generert Series eller DataFrame for å inspisere bruks- og utførelsesmålinger.

ai.stats returnerer en DataFrame med statistikk som:

  • num_successful: Antall rader behandlet vellykket av AI-funksjonen.
  • num_exceptions: Antall rader som møtte et unntak under utførelsen. Disse radene representeres som instanser av aifunc.ExceptionResult.
  • num_unevaluated: Antall rader som ikke ble behandlet fordi et tidligere unntak gjorde det umulig å fortsette evalueringen. Disse radene representeres som instanser av aifunc.NotEvaluatedResult.
  • num_harmful: Antall rader blokkert av Azure OpenAI-innholdsfilteret. Disse radene representeres som instanser av aifunc.FilterResult.
  • cached_tokens: Totalt antall bufrede input-tokens.
  • input_tokens: Totalt antall input-tokens brukt for AI-funksjonskallet.
  • output_tokens: Totalt antall utdatatokens generert av modellen.
  • reasoning_tokens: Totalt antall resonnementstokler brukt av resonnementsmodeller.
  • model: Modellutrullingsnavn brukt for AI-funksjonskallet.

Utdataene kan se ut som denne tabellen:

num_successful num_exceptions num_unevaluated num_harmful cached_tokens input_tokens output_tokens reasoning_tokens client_type input_types modell
2 0 0 0 0 555 4 0 fabric_llm_endpoint {"text": 2} GPT-5-mini

Tip

Bruk ai.stats den til å spore bruk, feilmønstre og tokenforbruk.

Rader som når kapasitetsgrenser vises som instanser av aifunc.CapacityExceededResult. I Pandas-arbeidsflyter brukes aifunc.split_results det for å skille vellykkede resultater fra ikke-resultater, slik at du kan inspisere kapasitetsbegrensede rader og prøve dem på nytt etter at kapasitet er tilgjengelig eller grensen er adressert.

Kostnadstransparens

pandas AI-funksjoner kan vise token-tellinger og estimater av kapasitetsenheter under kjøring med progress_bar_mode="stats". For PySpark, bruk df.ai.stats på resultatdatarammen.

Fabric Capacity Metrics-appen rapporterer modell-samtaleforbruk som AI Functions-operasjonen. For detaljer, se Fakturering for AI-funksjoner.

Evaluer og akselerer

Bruk AI Functions Starter Notebooks for ende-til-ende pandas og PySpark-eksempler. Bruk AI Functions Eval Notebooks for å vurdere kvaliteten på utdataene før produksjon.