AI_EXTRACT (Transact-SQL)

Gilt für:SQL-Analyseendpunkt in Microsoft Fabric und Warehouse in Microsoft Fabric

Die AI_EXTRACT Funktion extrahiert Werte aus dem Eingabetext mit den von Ihnen bereitgestellten Klassen und liefert das Ergebnis als JSON-Objekt zurück.

Note

  • AI_EXTRACT befindet sich in der Vorschau.
  • AI_EXTRACTist nur im SQL-Analytics-Endpunkt und im Warehouse in Microsoft Fabric verfügbar.

Syntax

Transact-SQL-Syntaxkonventionen

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

Arguments

text

Ein Ausdruck eines Charaktertyps, zum Beispiel nvarchar, varchar, nchar oder char.

Klasse 1, Klasse 2, ... n

Ein oder mehrere Eigenschaftsnamen, die aus dem Text extrahiert werden sollen.

EIN FEHLER

Die Klausel ON ERROR steuert, wie eine KI-Funktion mit Verarbeitungsfehlern umgeht.

  • NULL ON ERROR gibt zurück, NULL wenn die Funktion einen Wert nicht verarbeiten kann. Das ist das Standardverhalten und muss nicht explizit angegeben werden.
  • ERROR ON ERROR führt dazu, dass die gesamte Abfrage fehlschlägt, wenn während der Verarbeitung eines Eingabewerts ein Fehler auftritt.
  • DEFAULT <value> ON ERROR gibt den angegebenen Standardwert zurück, anstatt NULL wenn ein Fehler auftritt.

Fehler können durch Sicherheitsprüfungen der Responsible AI, Eingabegrößenbeschränkungen, vorübergehende Serviceprobleme oder andere Verarbeitungsfehler verursacht werden.

Rückgabetypen

Gibt JSON-Text zurück.nvarchar(max)

Bemerkungen

KI-Funktionen kehren zurück, NULL wenn das KI-Modell den Text nicht verarbeiten kann. Häufige Gründe sind:

  • Verantwortungsvolle KI-Regeln blockieren unangemessene Inhalte im Eingabetext.
  • Eingabetext überschreitet Tokengrenzwerte. Das aktuelle Modell unterstützt bis zu 15 KB Text.

Beispiele

A. Eigenschaften aus einem Satz extrahieren

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

Erwartetes Ergebnis: {"sentiment":"Negative","problem":"Dirty room"}

B. Parse extrahierte JSON in Spalten

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