AI_EXTRACT (Transact-SQL)

Si applica a:Endpoint di analisi SQL in Microsoft Fabric e Warehouse in Microsoft Fabric

La AI_EXTRACT funzione estrae i valori dal testo di input usando le classi che fornisci e restituisce il risultato come oggetto JSON.

Note

  • AI_EXTRACT è in anteprima.
  • AI_EXTRACTè disponibile solo nell'endpoint SQL Analytics e nel Warehouse in Microsoft Fabric.

Syntax

Convenzioni relative alla sintassi Transact-SQL

AI_EXTRACT ( text, class1, class2 [ , ...n ] [ (NULL | ERROR | DEFAULT <value>) ON ERROR ] )

Arguments

text

Un'espressione di un tipo di carattere, ad esempio nvarchar, varchar, nchar o char.

Classe 1, Classe 2, ... n

Uno o più nomi di proprietà da estrarre dal testo.

ERRORE

La ON ERROR clausola controlla come una funzione IA gestisce gli errori di elaborazione.

  • NULL ON ERROR ritorna NULL quando la funzione non riesce a elaborare un valore. Questo è il comportamento predefinito e non deve essere specificato esplicitamente.
  • ERROR ON ERROR fa fallire l'intera query se si verifica un errore durante l'elaborazione di qualsiasi valore di input.
  • DEFAULT <value> ON ERROR restituisce il valore predefinito specificato invece di NULL quando si verifica un errore.

Gli errori possono essere causati da controlli di sicurezza Responsible AI , limiti di dimensione degli input, problemi di servizio transitori o altri fallimenti di elaborazione.

Tipi restituiti

Ritorni nvarchar(max) contenenti testo JSON.

Remarks

Le funzioni IA tornano NULL se il modello IA non riesce a processare il testo. I motivi comuni includono:

  • Le regole di IA responsabile bloccano contenuti inappropriati nel testo di input.
  • Il testo di input supera i limiti dei token. Il modello corrente supporta fino a 15 KB di testo.

Examples

A. Estrazione delle proprietà da una frase

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

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

B. Parse estraeva JSON in colonne

SELECT sentiment, time_reported, problem
FROM dbo.hotel_reviews
CROSS APPLY OPENJSON(
    ai_extract(review_text, 'sentiment', 'time_reported', 'problem')
) WITH (
    sentiment VARCHAR(1000),
    time_reported VARCHAR(100),
    problem VARCHAR(1000)
);