Funzioni di intelligenza artificiale: trasformare i dati su larga scala con l'intelligenza artificiale

Le funzioni di intelligenza artificiale in Microsoft Fabric applicano trasformazioni in una sola riga, basate su LLM, a DataFrame pandas o PySpark di grandi dimensioni. Vengono eseguiti con concorrenza elevata per impostazione predefinita, in modo da poter arricchire, classificare, riepilogare ed estrarre rapidamente i dati su larga scala.

Usare questa tabella per passare agli esempi in questa panoramica o nella documentazione dettagliata di Pandas e PySpark.

Function Description Documentazione dettagliata
ai.analyze_sentiment Rilevare lo stato emotivo del testo di input. Esempio. pandas, PySpark
ai.classify Classificare il testo di input in base alle etichette. Esempio. pandas, PySpark
ai.embed Generare incorporamenti vettoriali per il testo di input. Esempio. pandas, PySpark
ai.extract Estrarre campi, ad esempio posizioni, nomi o entità personalizzate. Esempio. pandas, PySpark
ai.fix_grammar Correzione dell'ortografia, della grammatica e della punteggiatura. Esempio. pandas, PySpark
ai.generate_response Generare risposte in base alle istruzioni. Esempio. pandas, PySpark
ai.similarity Confrontare il significato del testo con un valore o un'altra colonna. Esempio. pandas, PySpark
ai.summarize Riepilogare i dati di testo, file o righe. Esempio. pandas, PySpark
ai.translate Tradurre il testo di input in un'altra lingua. Esempio. pandas, PySpark

È possibile usare funzioni di intelligenza artificiale nei notebook con pandas o PySpark, nelle query SQL e in Dataflow Gen2. Fabric gestisce la configurazione dell'endpoint per il modello predefinito.

Usare funzioni di intelligenza artificiale tra esperienze Fabric

Le funzioni di intelligenza artificiale sono disponibili in più esperienze di Fabric:

Usare funzioni di IA multimodale

Le funzioni di IA multimodali consentono di elaborare immagini, PDF e file di testo oltre ai valori testuali. Usali per riassumere PDF, classificare immagini, estrarre campi dai documenti o generare risposte basate sul contenuto del file.

I tipi di file supportati includono JPG/JPEG, PNG, GIF statica, WebP, PDF, MD, TXT, CSV, TSV, JSON, XML, PY e altri file di testo. Impostare column_type="path" in pandas, o input_col_type o col_types in PySpark. Per esempi, vedere Usare l'input multimodale con funzioni di IA.

Prerequisites

Note

  • Le funzioni di intelligenza artificiale sono supportate in Fabric Runtime 1.3 e versioni successive.
  • Le funzioni di intelligenza artificiale di Python per pandas e PySpark ora usano per impostazione predefinita gpt-5-mini con reasoning_effort impostato su low. Questo modello ha una finestra di contesto di 400.000 token e un output massimo di 128.000 token. Per i limiti e le tariffe del modello, vedere la tabella dei modelli linguistici.
  • Le funzioni di intelligenza artificiale in Dataflow Gen2 e il warehouse riceveranno lo stesso aggiornamento del modello entro la fine di giugno 2026.
  • Anche se il modello sottostante può gestire diverse lingue, la maggior parte delle funzioni di intelligenza artificiale è ottimizzata per il testo in lingua inglese.
  • Le funzioni di intelligenza artificiale non registrano o archiviano richieste utente, dati di input o output.

Modelli e provider

Per impostazione predefinita, le funzioni di intelligenza artificiale usano l'endpoint Fabric predefinito. È anche possibile configurare pandas e le funzioni di IA di PySpark per usare qualsiasi LLM che supporti l'API chat_completions o responses, tra cui:

  • modelli Azure OpenAI.
  • Microsoft modelli Foundry come Qwen, Kimi, Grok, LLaMA, Mistral e altro ancora.

Per le opzioni di configurazione, vedere Personalizzare le funzioni di intelligenza artificiale con pandas e Personalizzare le funzioni di intelligenza artificiale con PySpark.

Configurare funzioni di intelligenza artificiale

Le funzioni AI supportano pandas negli ambienti runtime Python e PySpark, e PySpark nell'ambiente runtime PySpark. Installare solo i pacchetti necessari per il runtime.

Prestazioni e concorrenza

Funzioni di intelligenza artificiale elabora fino a 200 righe contemporaneamente per impostazione predefinita. Ottimizza la concorrenza del tuo carico di lavoro in pandas o PySpark.

Installa le dipendenze

Runtime Dipendenze
pandas (runtime di Python) Installare i synapseml_internal file con rotellina e synapseml_core . Installare openai la versione 1.99.5 o successiva solo se sono necessari esempi di comportamento del client nativo dell'SDK o di formato di risposta Pydantic.
pandas (runtime PySpark) Non è necessaria alcuna installazione per la maggior parte dell'utilizzo. Installare openai la versione 1.99.5 o successiva solo se sono necessari esempi di comportamento del client nativo dell'SDK o di formato di risposta Pydantic.
PySpark (PySpark runtime) Non è richiesta l'installazione.
# Optional: install openai version 1.99.5 or later for SDK-native client behavior.
%pip install -q openai 2>/dev/null

Importare le librerie obbligatorie

Importa la libreria AI Functions per il tuo runtime.

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

Usare le funzioni helper per file e schemi

Le funzioni di intelligenza artificiale includono helper per i flussi di lavoro multidisciplinari:

  • aifunc.load: inserisce i file da una cartella in una tabella strutturata. È possibile fornire un prompt o uno schema.
  • aifunc.list_file_paths: enumerare gli URL e i percorsi dei file da una cartella da usare come input per qualsiasi funzione di intelligenza artificiale.
  • ai.infer_schema: dedurre uno schema di estrazione dal contenuto del file da usare con ai.extract.

Per esempi, vedere Usare l'input multimodale con funzioni di IA.

Applicare funzioni di intelligenza artificiale

Gli esempi seguenti illustrano le funzioni di intelligenza artificiale principali per pandas e PySpark. Le funzioni di intelligenza artificiale PySpark vengono eseguite come trasformazioni Spark distribuite tra cluster Spark Fabric.

Note

La maggior parte delle funzioni di intelligenza artificiale supporta i percorsi di file con column_type="path" in pandas o input_col_type/col_types="path" in PySpark. Per esempi, vedere Usare l'input multimodale con funzioni di IA.

Tip

Il modello di Python predefinito è gpt-5-mini con reasoning_effort="low". Per modificare i modelli o ottimizzare le impostazioni, vedere configurazione pandas o configurazione pySpark.

ai.analyze_sentiment: Rileva il sentiment

La ai.analyze_sentiment funzione etichetta ogni input come positivo, negativo, misto o neutro. È anche possibile fornire etichette personalizzate.

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

Screenshot di un data frame con le colonne 'Reviews' e 'Sentiment'. La colonna 'Sentiment' include 'negative', 'positive', 'mixed' e 'neutral'.

ai.classify: Categorizzare il testo

La ai.classify funzione classifica il testo di input usando le etichette fornite.

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

Screenshot di un frame di dati con le colonne 'description' e 'category'. La colonna 'category' elenca il nome della categoria di ogni descrizione.

ai.embed: Generare incorporamenti vettoriali

La ai.embed funzione converte il testo in vettori numerici che acquisiscano il significato semantico. Usare gli incorporamenti per ricerche di somiglianza, recupero e flussi di lavoro di Machine Learning.

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

Screenshot di un frame di dati con colonne 'descriptions' e 'embed'. La colonna 'embed' contiene vettori di embedding per le descrizioni.

ai.extract: Estrai entità

La ai.extract funzione estrae campi come nomi, posizioni o entità personalizzate dal testo di input.

Etichette strutturate

Usare ExtractLabel quando è necessaria l'estrazione tipizzata. Supporta costrutti di schema JSON, ad esempio campi tipizzati, enumerazioni, matrici, oggetti annidati, valori nullable, proprietà obbligatorie e additionalProperties=false. Per esempi, vedere pandas o 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)

Screenshot che mostra un nuovo frame di dati con le colonne 'name', 'profession' e 'city', contenenti i dati estratti dal frame di dati originale.

ai.fix_grammar: Correzione della grammatica

La ai.fix_grammar funzione corregge l'ortografia, la grammatica e la punteggiatura.

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

Screenshot che mostra una cornice di dati con una colonna

ai.generate_response: applicare richieste utente personalizzate

La ai.generate_response funzione crea testo personalizzato dai dati del prompt e della riga.

Parametri facoltativi

Usare response_format quando è necessario un output strutturato, inclusi oggetti JSON, schemi JSON o modelli Pydantic. Per esempi, vedere pandas o 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)

Screenshot che mostra un data frame con colonne 'product' e 'response'. La colonna 'response' contiene una riga di oggetto incisiva per il prodotto.

ai.similarity: Calcolare la somiglianza

La ai.similarity funzione confronta ogni valore di input con un valore di riferimento o con un valore in un'altra colonna. I punteggi vanno da -1 per significato opposto a 1 per un significato identico.

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

Screenshot di un data frame con colonne 'names', 'industries' e 'similarity'. La colonna 'similarity' mostra i punteggi di somiglianza per i nomi e i settori.

ai.summarize: Riepilogare il testo

La ai.summarize funzione riepiloga il testo, il contenuto del file, una singola colonna o tutte le colonne in ogni riga.

Personalizzazione dei riepiloghi con le istruzioni

Usa instructions per controllare il tono, la lunghezza, il pubblico o l'obiettivo. Per esempi, vedere pandas o 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)

Screenshot che mostra un frame di dati. La colonna

ai.translate: Tradurre testo

La ai.translate funzione traduce il testo in un'altra lingua.

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

Screenshot di un frame di dati con colonne 'text' e 'translations'. La colonna 'translations' contiene il testo tradotto in spagnolo.

Concatenare le funzioni di intelligenza artificiale PySpark

Le funzioni AI di PySpark restituiscono DataFrame che mantengono l'accessor df.ai associato allo schema risultante. Trasformazioni della catena senza materializzare dataframe intermedi.

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

Visualizzare le statistiche di utilizzo con ai.stats

Usare ai.stats in una serie o in un dataframe generato dall'intelligenza artificiale per esaminare le metriche di utilizzo ed esecuzione.

ai.stats restituisce un dataframe con statistiche come:

  • num_successful: numero di righe elaborate correttamente dalla funzione di intelligenza artificiale.
  • num_exceptions: numero di righe che hanno rilevato un'eccezione durante l'esecuzione. Queste righe sono rappresentate come istanze di aifunc.ExceptionResult.
  • num_unevaluated: numero di righe che non sono state elaborate perché un'eccezione precedente ha reso impossibile continuare la valutazione. Queste righe sono rappresentate come istanze di aifunc.NotEvaluatedResult.
  • num_harmful: numero di righe bloccate dal filtro di contenuto OpenAI Azure. Queste righe sono rappresentate come istanze di aifunc.FilterResult.
  • cached_tokens: numero totale di token di input memorizzati nella cache.
  • input_tokens: numero totale di token di input usati per la chiamata di funzione di intelligenza artificiale.
  • output_tokens: numero totale di token di output generati dal modello.
  • reasoning_tokens: numero totale di token di ragionamento usati dai modelli di ragionamento.
  • model: nome della distribuzione del modello usato per la chiamata di funzione di intelligenza artificiale.

L'output potrebbe essere simile alla tabella seguente:

num_successful num_exceptions num_unevaluated num_harmful token memorizzati nella cache input_tokens output_tokens reasoning_tokens client_type input_types model
2 0 0 0 0 555 4 0 fabric_llm_endpoint {"text": 2} gpt-5-mini

Tip

Usare ai.stats per tenere traccia dell'utilizzo, dei modelli di errore e dell'utilizzo dei token.

Le righe che raggiungono i limiti di capacità vengono visualizzate come istanze di aifunc.CapacityExceededResult. Nei flussi di lavoro di pandas, usa aifunc.split_results per separare gli output riusciti dall'assenza di risultati, in modo da poter esaminare le righe soggette a limiti di capacità e riprovare una volta che la capacità sarà disponibile o che il limite sarà stato risolto.

Trasparenza dei costi

Le funzioni di intelligenza artificiale pandas possono mostrare i conteggi dei token e le stime delle unità di capacità durante l'esecuzione con progress_bar_mode="stats". Per PySpark, usare df.ai.stats nel dataframe dei risultati.

L'app Fabric Capacity Metrics segnala il consumo di chiamate modello come operazione di Funzioni di intelligenza artificiale. Per informazioni dettagliate, vedere Fatturazione per le funzioni di intelligenza artificiale.

Valutare e accelerare

Usa i notebook introduttivi di Funzioni di IA per esempi completi in pandas e PySpark. Usa i AI Functions Eval Notebooks per valutare la qualità dell'output prima della messa in produzione.