Condividi tramite


Usare le funzioni di intelligenza artificiale (anteprima)

Si applica a:✅ endpoint di analisi SQL e magazzino dati in Microsoft Fabric

Importante

Questa funzionalità si trova in Anteprima.

Fabric Data Warehouse e endpoint di analisi SQL offrono funzioni di intelligenza artificiale predefinite che è possibile usare per analizzare, classificare, riepilogare e trasformare il testo direttamente nelle query SQL. Usando queste funzioni, è possibile eseguire l'elaborazione avanzata del testo senza uscire dall'ambiente dati. Questa esercitazione illustra come usare le funzioni di intelligenza artificiale per trasformare il testo.

Funzione Scopo Esempio di sintassi
ai_analyze_sentiment Rilevare il sentimento del testo di ingresso ai_analyze_sentiment(<text>)
ai_classify Classificare il testo in base alle etichette specificate ai_classify(<text>, <class1>, <class2>, ...)
ai_extract Estrarre le entità come proprietà JSON ai_extract(<text>, <class1>, <class2>, ...)
ai_summarize Riassumere testo ai_summarize(<text>)
ai_generate_response Generare una risposta in base alla richiesta ai_generate_response(<prompt>, <data>)
ai_translate Tradurre il testo di input nella lingua di destinazione specificata ai_translate(<text>, <lang>)
ai_fix_grammar Correggere la grammatica nel testo ai_fix_grammar(<text>)

Queste funzioni chiamano API di intelligenza artificiale esterne per elaborare il testo, che possono influire sulle prestazioni delle query. Per ottimizzare l'efficienza, evitare di applicare trasformazioni di testo ripetitive all'interno SELECT di query nello stesso set di dati. Precomputare e materializzare invece i risultati delle funzioni di intelligenza artificiale come colonne separate o nelle tabelle di staging.

Avviso

Le funzioni restituiscono NULL se il modello di intelligenza artificiale non è in grado di elaborare il testo. I più comuni sono:

  • Le regole di IA responsabili bloccano il contenuto inappropriato nel testo di input.
  • Il testo di input supera i limiti dei token. Il modello corrente supporta fino a 15 KB di testo.

La velocità di elaborazione tipica delle funzioni di intelligenza artificiale è di 20-100 righe al secondo. Se si verificano prestazioni più lente, segnalare la query problematica come problema.

Controllare i prerequisiti delle funzioni di intelligenza artificiale per abilitare le funzioni di intelligenza artificiale nell'area di lavoro. Le funzioni di intelligenza artificiale per il servizio OpenAI di Azure sono disponibili in alcune aree.

Analizzare il sentiment

La ai_analyze_sentiment(text) funzione analizza il sentiment dall'input text e restituisce uno dei valori seguenti: positive, negative, mixedo neutral.

Esempio:

SELECT ai_analyze_sentiment('This hotel was great!') AS sentiment;

Risultato previsto:positive

Classifica il testo

La ai_classify(text, class1, class2, ...) funzione classifica l'input text in una delle categorie fornite.

Esempio:

SELECT ai_classify('Room was dirty', 'service','dirt','food') AS classification;

Risultato previsto:dirt

Estrarre entità dal testo

La ai_extract(text, class1, class2, ...) funzione estrae entità dall'input text in base alle classi specificate.

Esempio:

SELECT ai_extract('Check-in was late and room dirty', 'sentiment','problem') AS extraction;

Risultato previsto:{"sentiment":"Negative","problem":"Dirty room"}

Generare una risposta

La ai_generate_response(prompt, data) funzione genera una risposta basata su un oggetto specificato prompt e facoltativo data.

Esempio:

SELECT ai_generate_response('Reply in 20 words:', 'The room was noisy.') AS response;

Risultato previsto: "Ci scusiamo sinceramente per l'inconveniente causato dal rumore e siamo impegnati a migliorare le nostre misure di ottimizzazione".

Riassumere testo

La ai_summarize(text) funzione riepiloga l'input text in una versione concisa.

Esempio:

SELECT ai_summarize('The hotel was clean and staff were friendly.') AS summary;

Risultato previsto: 'Hotel pulito, personale cordiale.'

Tradurre un testo

La ai_translate(text, lang_code) funzione si traduce text nella lingua specificata usando lang_code.

I codici di lingua supportati sono de (tedesco), en (inglese), (francese), frit (italiano), es (spagnolo), (greco), el (polacco), plsv (svedese), fi (finlandese) e cs (ceco).

Esempio:

SELECT ai_translate('The hotel was great','de') AS translation_de;

Risultato previsto: 'Das Hotel war großartig.'

Correzione della grammatica

La ai_fix_grammar(text) funzione corregge la grammatica nell'input text.

Esempio:

SELECT ai_fix_grammar('Th room are clean and staff were nice') AS fixed_text;

Risultato previsto: 'Le camere sono pulite, e il personale era bello.'

Examples

A. Importare dati e trasformare una colonna di testo usando le funzioni di intelligenza artificiale

Questo esempio carica i dati da un file Lakehouse nella hotel_reviews tabella del warehouse. Seleziona da un file nella /Files sezione e quindi applica le funzioni di intelligenza artificiale per arricchire i dati:

CREATE TABLE HotelDW.dbo.hotel_reviews
AS
SELECT
    city, latitude, longitude, name, reviews_rating, reviews_text,
    ai_summarize(reviews_text) AS reviews_summary,
    ai_classify( reviews_text, 'service', 'dirt', 'food', 'air conditioning', 'other') AS reviews_classification,
    ai_analyze_sentiment(reviews_text) AS reviews_sentiment,
    ai_translate(reviews_text, 'de') AS reviews_text_de,
    ai_translate(reviews_text, 'es') AS reviews_text_es,
    ai_translate(reviews_text, 'fr') AS reviews_text_fr,
    ai_translate(reviews_text, 'it') AS reviews_text_it
FROM OPENROWSET( BULK '/Files/csv/hotel_reviews_demo.csv', DATA_SOURCE = 'TextLakehouse', HEADER_ROW = TRUE);

B. Aggiornare la colonna di testo usando la funzione di intelligenza artificiale

Nell'esempio seguente vengono corretti gli errori grammaticali nella reviews_text colonna :

UPDATE HotelDW.dbo.hotel_reviews
SET reviews_text = ISNULL(ai_fix_grammar(reviews_text), reviews_text);

Le funzioni di intelligenza artificiale potrebbero restituire NULL se si verifica un errore, quindi evitare di sovrascrivere i valori esistenti con NULL.

Usare il ISNULL(<ai function>, <original value>) modello per mantenere il testo originale quando le funzioni di intelligenza artificiale non possono restituire risultati.

C. Estrarre valori dal testo

In questo esempio la ai_extract funzione analizza il testo di revisione e restituisce un oggetto JSON contenente le proprietà sentiment, time_reportede problem. La OPENJSON funzione analizza quindi questo codice JSON ed esegue il mapping di queste proprietà in colonne separate per semplificare l'esecuzione di query e l'analisi.

Questo script di esempio inserisce i valori estratti come colonne separate nella tabella di destinazione.

INSERT INTO gold.hotel_reviews
SELECT sentiment, time_reported, problem
FROM hotel_reviews
CROSS APPLY 
OPENJSON(
    ai_extract(reviews_text, 'sentiment', 'time_reported', 'problem')
) WITH ( sentiment VARCHAR(1000), time_reported VARCHAR(100), problem VARCHAR(1000) );

La ai_extract funzione applica regole contestuali fuzzy per identificare ed estrarre argomenti dal testo senza richiedere l'analisi manuale o espressioni regolari complesse. Questo approccio semplifica l'analisi del testo usando la comprensione semantica guidata dall'intelligenza artificiale anziché la rigida corrispondenza dei criteri, rendendola più affidabile e adattabile alle variazioni del linguaggio naturale.