Delen via


Gegevens transformeren en verrijken met AI-functies

Met Microsoft Fabric AI Functions kunnen alle zakelijke professionals (van ontwikkelaars tot analisten) hun bedrijfsgegevens transformeren en verrijken met behulp van generatieve AI.

AI-functies maken gebruik van toonaangevende grote taalmodellen (LLM's) voor samenvatting, classificatie, tekstgeneratie en meer. Met één regel code kunt u het volgende doen:

  • ai.analyze_sentiment: Detecteer de emotionele toestand van invoertekst.
  • ai.classify: Categoriseer invoertekst op basis van uw labels.
  • ai.embed: Vector embeddings genereren voor invoertekst.
  • ai.extract: Specifieke typen gegevens extraheren uit invoertekst (bijvoorbeeld locaties of namen).
  • ai.fix_grammar: Corrigeer de spelling, grammatica en interpunctie van invoertekst.
  • ai.generate_response: Genereer antwoorden op basis van uw eigen instructies.
  • ai.similarity: Vergelijk de betekenis van invoertekst met één tekstwaarde of met tekst in een andere kolom.
  • ai.summarize: Samenvattingen van invoertekst ophalen.
  • ai.translate: invoertekst vertalen in een andere taal.

U kunt deze functies opnemen als onderdeel van data science- en data engineering-werkstromen, ongeacht of u met pandas of Spark werkt. Er is geen gedetailleerde configuratie en geen complex infrastructuurbeheer. U hebt geen specifieke technische expertise nodig.

Prerequisites

Note

  • AI-functies worden ondersteund in Fabric Runtime 1.3 en hoger.
  • Tenzij u een ander model configureert, worden ai-functies standaard ingesteld op gpt-4.1-mini. Meer informatie over facturerings- en verbruikstarieven.
  • Hoewel het onderliggende model verschillende talen kan verwerken, zijn de meeste AI-functies geoptimaliseerd voor gebruik op Engelse teksten.

Modellen en leveranciers

AI-functies ondersteunen nu bredere modellen en providers buiten de standaard Azure OpenAI-modellen. U kunt AI-functies configureren voor gebruik:

  • Azure OpenAI-modellen
  • Azure AI Foundry-resources (inclusief modellen zoals Claude en LLaMA)

Model- en providerselectie kan worden geconfigureerd via de configuratie van AI-functies. Zie de configuratiedocumentatie voor pandas en PySpark voor meer informatie over het instellen en configureren van verschillende modellen en providers.

Aan de slag met AI-functies

AI-functies kunnen worden gebruikt met pandas (Python- en PySpark-runtimes) en met PySpark (PySpark-runtime). De vereiste installatie- en importstappen voor elk van deze stappen worden beschreven in de volgende sectie, gevolgd door de bijbehorende opdrachten.

Prestaties en gelijktijdigheid

AI-functies worden nu uitgevoerd met een verhoogde standaard gelijktijdigheid van 200, waardoor ai-bewerkingen sneller parallel kunnen worden verwerkt. U kunt gelijktijdigheidsinstellingen per workload afstemmen om de prestaties te optimaliseren op basis van uw specifieke vereisten. Zie de configuratiedocumentatie voor pandas en PySpark voor meer informatie over het configureren van gelijktijdigheid en andere prestatie-gerelateerde instellingen.

Afhankelijkheden installeren

  • Pandas (Python-runtime)
    • synapseml_internal en synapseml_core installatie van .whl-bestanden is vereist (zie de opdrachten in de volgende codecel)
    • openai installatie van pakket vereist (opdracht opgegeven in de volgende codecel)
  • Pandas (PySpark Runtime)
    • openai installatie van pakket vereist (opdracht opgegeven in de volgende codecel)
  • PySpark (PySpark runtime)
    • Geen installatie vereist
# The pandas AI functions package requires OpenAI version 1.99.5 or later
%pip install -q --force-reinstall openai==1.99.5 2>/dev/null

Vereiste bibliotheken importeren

In de volgende codecel worden de AI-functiesbibliotheek en de bijbehorende afhankelijkheden geïmporteerd.

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

AI-functies toepassen

Met elk van de volgende functies kunt u het ingebouwde AI-eindpunt in Fabric aanroepen om gegevens te transformeren en verrijken met één regel code. U kunt AI-functies gebruiken om pandas DataFrames of Spark DataFrames te analyseren.

Tip

Meer informatie over het aanpassen van de configuratie van AI-functies.

Geavanceerde configuratie: Wanneer u gpt-5-gezinsmodellen gebruikt, kunt u geavanceerde opties configureren, zoals reasoning_effort en verbosity. Zie de configuratiepagina's voor pandas en PySpark voor meer informatie over het instellen van deze opties.

Gevoel detecteren met ai.analyze_sentiment

De ai.analyze_sentiment functie roept AI aan om te bepalen of de emotionele toestand die wordt uitgedrukt door invoertekst positief, negatief, gemengd of neutraal is. Als AI deze bepaling niet kan maken, blijft de uitvoer leeg. Zie ai.analyze_sentiment voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.analyze_sentiment voor meer informatie over PySpark.

Optionele parameters

De ai.analyze_sentiment functie ondersteunt nu aanvullende optionele parameters waarmee u het gedrag van sentimentanalyse kunt aanpassen. Deze parameters bieden meer controle over hoe sentiment wordt gedetecteerd en gerapporteerd. Zie de functiespecifieke documentatie voor pandas en PySpark voor meer informatie over beschikbare parameters, beschrijvingen en standaardwaarden.

# 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'.

Tekst categoriseren met ai.classify

De functie ai.classify roept AI aan om invoertekst te categoriseren op basis van aangepaste labels die u kiest. Ga naar ai.classify voor meer informatie over het gebruik van met pandas. Zie ai.classify voor meer informatie over PySpark.

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

Vector embeddings genereren met ai.embed

De ai.embed functie roept AI aan om vector-insluitingen voor invoertekst te genereren. Vector insluitingen zijn numerieke representaties van tekst die semantische betekenis vastleggen, waardoor ze handig zijn voor zoekopdrachten naar overeenkomsten, het ophalen van werkstromen en andere machine learning-taken. De dimensionaliteit van de insluitvectoren is afhankelijk van het geselecteerde model. Zie ai.embed voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.embed voor meer informatie over PySpark.

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

Entiteiten extraheren met ai.extract

De ai.extract functie roept AI aan om invoertekst te scannen en specifieke typen informatie te extraheren die zijn aangewezen door labels die u kiest (bijvoorbeeld locaties of namen). Zie ai.extract voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.extract voor meer informatie over PySpark.

Gestructureerde labels

De ai.extract functie ondersteunt gestructureerde labeldefinities via het ExtractLabel-schema. U kunt labels voorzien van gestructureerde definities die niet alleen de labelnaam bevatten, maar ook type-informatie en kenmerken. Deze gestructureerde benadering verbetert de consistentie van extractie en stelt de functie in staat om overeenkomstig gestructureerde uitvoerkolommen te retourneren. U kunt bijvoorbeeld labels opgeven met aanvullende metagegevens om het extractieproces nauwkeuriger te begeleiden. Zie de gedetailleerde documentatie voor pandas en PySpark voor voorbeelden van het gebruik van gestructureerde labels.

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

Grammatica oplossen met ai.fix_grammar

De functie ai.fix_grammar roept AI aan om de spelling, grammatica en interpunctie van invoertekst te corrigeren. Zie ai.fix_grammar voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.fix_grammar voor meer informatie over PySpark.

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

Aangepaste gebruikersprompts beantwoorden met ai.generate_response

De functie ai.generate_response roept AI aan om aangepaste tekst te genereren op basis van uw eigen instructies. Zie ai.generate_response voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.generate_response voor meer informatie over PySpark.

Optionele parameters

De ai.generate_response functie ondersteunt nu een response_format parameter waarmee u gestructureerde JSON-uitvoer kunt aanvragen. U kunt opgeven response_format='json' dat antwoorden moeten worden ontvangen in JSON-indeling. Daarnaast kunt u een JSON-schema opgeven om een specifieke uitvoerstructuur af te dwingen, zodat het gegenereerde antwoord voldoet aan de verwachte gegevensshape. Dit is met name handig wanneer u voorspelbare, machineleesbare uitvoer van de AI-functie nodig hebt. Zie de documentatie voor pandas en PySpark voor gedetailleerde voorbeelden en gebruikspatronen.

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

Gelijkenis berekenen met ai.similarity

De ai.similarity functie vergelijkt elke invoertekstwaarde met één algemene verwijzingstekst of met de bijbehorende waarde in een andere kolom (paarsgewijze modus). De waarden voor de uitvoer-overeenkomstenscore zijn relatief en kunnen variëren van -1 (tegengestelden) tot 1 (identiek). Een score van 0 geeft aan dat de waarden niet gerelateerd zijn in betekenis. Zie ai.similarity voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.similarity voor meer informatie over PySpark.

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

Tekst samenvatten met ai.summarize

De functie ai.summarize roept AI aan om samenvattingen van invoertekst te genereren (waarden uit één kolom van een DataFrame of rijwaarden in alle kolommen). Zie ai.summarize voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.summarize voor meer informatie over PySpark.

Samenvattingen aanpassen met instructies

De ai.summarize functie ondersteunt nu een instructions parameter waarmee u de toon, lengte en focus van de gegenereerde samenvattingen kunt sturen. U kunt aangepaste instructies opgeven om te bepalen hoe de samenvatting moet worden gemaakt, zoals het opgeven van een bepaalde stijl, doelgroep of detailniveau. Wanneer er geen instructies worden opgegeven, gebruikt de functie standaardsamenvattingsgedrag. Zie de gedetailleerde documentatie voor instructions en PySpark voor voorbeelden van het gebruik van de parameter.

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

Tekst vertalen met ai.translate

De functie ai.translate roept AI aan om invoertekst te vertalen naar een nieuwe taal van uw keuze. Zie ai.translate voor meer gedetailleerde instructies over het gebruik van pandas met . Zie ai.translate voor meer informatie over PySpark.

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

Gebruiksstatistieken weergeven met ai.stats

Fabric AI-functies bieden een ingebouwde manier om gebruiks- en uitvoeringsstatistieken te inspecteren voor elke door AI gegenereerde reeks of DataFrame. U kunt deze metrische gegevens openen door ai.stats aan te roepen op het resultaat dat wordt geretourneerd door een AI-functie.

ai.stats retourneert een DataFrame met de volgende kolommen:

  • num_successful: het aantal rijen dat met succes 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 de evaluatie voort te zetten. Deze rijen zijn exemplaren van aifunc. NotEvaluatedResult.
  • num_harmful: het aantal rijen dat is geblokkeerd door het Azure OpenAI-inhoudsfilter. Deze rijen zijn exemplaren van aifunc.FilterResult.
  • prompt_tokens: het totale aantal invoertokens dat wordt gebruikt voor de AI-functie-aanroep.
  • completion_tokens: het totale aantal uitvoertokens dat door het model is gegenereerd.

Tip

U kunt ai.stats aanroepen op elke Series of DataFrame die door een AI-functie worden geretourneerd. Dit kan u helpen bij het bijhouden van gebruik, het begrijpen van foutpatronen en het bewaken van tokenverbruik.