Condividi tramite


Trasformare e arricchire i dati con funzioni di intelligenza artificiale

Le funzioni di intelligenza artificiale di Microsoft Fabric consentono a tutti i professionisti aziendali (dagli sviluppatori agli analisti) di trasformare e arricchire i dati aziendali usando l'intelligenza artificiale generativa.

Le funzioni di intelligenza artificiale usano modelli di linguaggio di grandi dimensioni leader del settore per riepiloghi, classificazione, generazione di testo e altro ancora. Con una singola riga di codice, è possibile:

  • ai.analyze_sentiment: rilevare lo stato emotivo del testo di input.
  • ai.classify: classificare il testo di input in base alle etichette.
  • ai.embed: genera incorporamenti vettoriali per il testo di input.
  • ai.extract: estrarre tipi specifici di informazioni dal testo di input (ad esempio, posizioni o nomi).
  • ai.fix_grammar: correggere l'ortografia, la grammatica e la punteggiatura del testo di input.
  • ai.generate_response: generare risposte in base alle proprie istruzioni.
  • ai.similarity: confrontare il significato del testo di input con un singolo valore di testo o con testo in un'altra colonna.
  • ai.summarize: ottiene riepiloghi del testo di input.
  • ai.translate: tradurre il testo di input in un'altra lingua.

È possibile incorporare queste funzioni come parte dei flussi di lavoro di data science e ingegneria dei dati, indipendentemente dal fatto che si stia usando pandas o Spark. Non è disponibile alcuna configurazione dettagliata e nessuna gestione complessa dell'infrastruttura. Non sono necessarie competenze tecniche specifiche.

Prerequisites

Note

  • Le funzioni di intelligenza artificiale sono supportate in Fabric Runtime 1.3 e versioni successive.
  • A meno che non si configuri un modello diverso, per impostazione predefinita le funzioni di intelligenza artificiale sono gpt-4.1-mini. Altre informazioni sulla fatturazione e sulle tariffe a consumo.
  • Anche se il modello sottostante può gestire diverse lingue, la maggior parte delle funzioni di intelligenza artificiale è ottimizzata per l'uso nei testi in lingua inglese".

Modelli e provider

Le funzioni di intelligenza artificiale supportano ora modelli e provider più ampi oltre ai modelli OpenAI di Azure predefiniti. È possibile configurare le funzioni di intelligenza artificiale da usare:

  • Modelli di Azure OpenAI
  • Risorse di Azure AI Foundry (inclusi modelli come Claude e LLaMA)

La selezione di modelli e provider è configurabile tramite la configurazione delle funzioni di intelligenza artificiale. Per informazioni dettagliate su come configurare e configurare modelli e provider diversi, vedere la documentazione di configurazione per pandas e PySpark.

Introduzione alle funzioni di intelligenza artificiale

Le funzioni di intelligenza artificiale possono essere usate con pandas (runtime Python e PySpark) e con PySpark (runtime PySpark). I passaggi di installazione e importazione necessari per ognuno di essi sono descritti nella sezione seguente, seguiti dai comandi corrispondenti.

Prestazioni e concorrenza

Le funzioni di intelligenza artificiale vengono ora eseguite con una concorrenza predefinita maggiore di 200, consentendo un'elaborazione parallela più rapida delle operazioni di intelligenza artificiale. È possibile ottimizzare le impostazioni di concorrenza per ogni carico di lavoro per ottimizzare le prestazioni in base ai requisiti specifici. Per altre informazioni sulla configurazione della concorrenza e di altre impostazioni correlate alle prestazioni, vedere la documentazione di configurazione per pandas e PySpark.

Installa le dipendenze

  • Pandas (runtime Python)
    • synapseml_internal e synapseml_core è necessaria l'installazione dei file .whl (i comandi sono forniti nella cella di codice successiva)
    • openai installazione del pacchetto obbligatoria (comando fornito nella cella di codice seguente)
  • Pandas (runtime PySpark)
    • openai installazione del pacchetto obbligatoria (comando fornito nella cella di codice seguente)
  • PySpark (runtime PySpark)
    • Non è richiesta alcuna installazione
# 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

Importare le librerie obbligatorie

La cella di codice seguente importa la libreria di funzioni di intelligenza artificiale e le relative dipendenze.

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

Applicare le funzioni di intelligenza artificiale

Ognuna delle funzioni seguenti consente di richiamare l'endpoint di intelligenza artificiale predefinito in Fabric per trasformare e arricchire i dati con una singola riga di codice. È possibile usare le funzioni di intelligenza artificiale per analizzare i dataframe pandas o i dataframe Spark.

Tip

Informazioni su come personalizzare la configurazione delle funzioni di intelligenza artificiale.

Configurazione avanzata: quando si usano modelli di famiglia gpt-5, è possibile configurare opzioni avanzate come reasoning_effort e verbosity. Per informazioni dettagliate su come impostare queste opzioni, vedere le pagine di configurazione per pandas e PySpark .

Rilevare il sentiment con ai.analyze_sentiment

La ai.analyze_sentiment funzione richiama l'intelligenza artificiale per identificare se lo stato emotivo espresso dal testo di input è positivo, negativo, misto o neutro. Se l'intelligenza artificiale non riesce a stabilire questa determinazione, l'output viene lasciato vuoto. Per istruzioni più dettagliate sull'uso di ai.analyze_sentiment con pandas, vedere questo articolo. Per ai.analyze_sentiment informazioni su PySpark, vedere questo articolo.

Parametri facoltativi

La ai.analyze_sentiment funzione supporta ora parametri facoltativi aggiuntivi che consentono di personalizzare il comportamento di analisi del sentiment. Questi parametri forniscono un maggiore controllo sulla modalità di rilevamento e segnalazione del sentiment. Per informazioni dettagliate sui parametri disponibili, le relative descrizioni e i valori predefiniti, vedere la documentazione specifica della funzione per pandas e PySpark.

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

Classificare il testo con ai.classify

La ai.classify funzione richiama l'intelligenza artificiale per classificare il testo di input in base alle etichette personalizzate scelte. Per altre informazioni sull'uso di ai.classify con pandas, vedere questo articolo. Per ai.classify informazioni su PySpark, vedere questo articolo.

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

Generare incorporamenti vettoriali con ai.embed

La ai.embed funzione richiama l'intelligenza artificiale per generare incorporamenti vettoriali per il testo di input. Gli incorporamenti vettoriali sono rappresentazioni numeriche di testo che acquisiscono significato semantico, rendendoli utili per la ricerca di somiglianza, i flussi di lavoro di recupero e altre attività di Machine Learning. La dimensionalità dei vettori di incorporamento dipende dal modello selezionato. Per istruzioni più dettagliate sull'uso di ai.embed con pandas, vedere questo articolo. Per ai.embed informazioni su PySpark, vedere questo articolo.

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

Estrarre entità con ai.extract

La ai.extract funzione richiama l'intelligenza artificiale per analizzare il testo di input ed estrarre tipi specifici di informazioni designate dalle etichette scelte, ad esempio posizioni o nomi. Per istruzioni più dettagliate sull'uso di ai.extract con pandas, vedere questo articolo. Per ai.extract informazioni su PySpark, vedere questo articolo.

Etichette strutturate

La ai.extract funzione supporta le definizioni di etichette strutturate tramite lo schema ExtractLabel. È possibile fornire etichette con definizioni strutturate che includono non solo il nome dell'etichetta, ma anche le informazioni sul tipo e gli attributi. Questo approccio strutturato migliora la coerenza di estrazione e consente alla funzione di restituire colonne di output strutturate corrispondenti. Ad esempio, è possibile specificare etichette con metadati aggiuntivi per guidare il processo di estrazione più precisamente. Per esempi sull'uso di etichette strutturate, vedere la documentazione dettagliata di pandas e 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.

Correzione della grammatica con ai.fix_grammar

La ai.fix_grammar funzione richiama l'intelligenza artificiale per correggere l'ortografia, la grammatica e la punteggiatura del testo di input. Per istruzioni più dettagliate sull'uso di ai.fix_grammar con pandas, vedere questo articolo. Per ai.fix_grammar informazioni su PySpark, vedere questo articolo.

# 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

Rispondere alle richieste utente personalizzate con ai.generate_response

La ai.generate_response funzione richiama l'intelligenza artificiale per generare testo personalizzato in base alle proprie istruzioni. Per istruzioni più dettagliate sull'uso di ai.generate_response con pandas, vedere questo articolo. Per ai.generate_response informazioni su PySpark, vedere questo articolo.

Parametri facoltativi

La ai.generate_response funzione supporta ora un response_format parametro che consente di richiedere l'output JSON strutturato. È possibile specificare response_format='json' di ricevere risposte in formato JSON. Inoltre, è possibile fornire uno schema JSON per applicare una struttura di output specifica, assicurando che la risposta generata sia conforme alla forma di dati prevista. Ciò è particolarmente utile quando è necessario un output prevedibile e leggibile dal computer dalla funzione di intelligenza artificiale. Per esempi dettagliati e modelli di utilizzo, vedere la documentazione per pandas e 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.

Calcolare la somiglianza con ai.similarity

La ai.similarity funzione confronta ogni valore di testo di input con un testo di riferimento comune o con il valore corrispondente in un'altra colonna (modalità pairwise). I valori del punteggio di somiglianza dell'output sono relativi e possono variare da -1 (opposti) a 1 (identici). Un punteggio di 0 indica che i valori non sono correlati nel significato. Per istruzioni più dettagliate sull'uso di ai.similarity con pandas, vedere questo articolo. Per ai.similarity informazioni su PySpark, vedere questo articolo.

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

Riepilogare il testo con ai.summarize

La ai.summarize funzione richiama l'intelligenza artificiale per generare riepiloghi di testo di input (valori di una singola colonna di un dataframe o valori di riga in tutte le colonne). Per istruzioni più dettagliate sull'uso di ai.summarize con pandas, vedere questo articolo. Per ai.summarize informazioni su PySpark, vedere questo articolo.

Personalizzazione dei riepiloghi con le istruzioni

La ai.summarize funzione supporta ora un instructions parametro che consente di gestire il tono, la lunghezza e la focalizzazione dei riepiloghi generati. È possibile fornire istruzioni personalizzate per guidare la creazione del riepilogo, ad esempio specificare uno stile specifico, un gruppo di destinatari o un livello di dettaglio specifico. Quando le istruzioni non vengono fornite, la funzione usa il comportamento di riepilogo predefinito. Per esempi di uso del instructions parametro , vedere la documentazione dettagliata per pandas e 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

Tradurre il testo con ai.translate

La ai.translate funzione richiama l'intelligenza artificiale per tradurre il testo di input in una nuova lingua di propria scelta. Per istruzioni più dettagliate sull'uso di ai.translate con pandas, vedere questo articolo. Per ai.translate informazioni su PySpark, vedere questo articolo.

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

Visualizzare le statistiche di utilizzo con ai.stats

Le funzioni di Fabric AI offrono un metodo integrato per ispezionare le statistiche di utilizzo ed esecuzione per qualsiasi Series o DataFrame generato dall'intelligenza artificiale. È possibile accedere a queste metriche chiamando ai.stats il risultato restituito da una funzione di intelligenza artificiale.

ai.stats restituisce un dataframe con le colonne seguenti:

  • 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 non elaborate perché un'eccezione precedente ha reso impossibile continuare la valutazione. Queste righe sono istanze di aifunc.NotEvaluatedResult.
  • num_harmful: numero di righe bloccate dal filtro del contenuto OpenAI di Azure. Queste righe sono istanze di aifunc.FilterResult.
  • prompt_tokens: numero totale di token di input usati per la chiamata di funzione di intelligenza artificiale.
  • completion_tokens: numero totale di token di output generati dal modello.

Tip

È possibile chiamare ai.stats su qualsiasi serie o dataframe restituito da una funzione di intelligenza artificiale. Ciò consente di tenere traccia dell'utilizzo, comprendere i modelli di errore e monitorare l'utilizzo dei token.