AI_EXTRACT(Transact-SQL)

適用於:Microsoft Fabric 中的 SQL 分析端點與 Microsoft Fabric 中的倉庫

這個 AI_EXTRACT 函式會用你提供的類別從輸入文字中擷取值,然後以 JSON 物件的形式回傳結果。

Note

  • AI_EXTRACT 處於預覽狀態。
  • AI_EXTRACT僅在 SQL 分析端點及 Microsoft Fabric 中的 Warehouse 中提供。

Syntax

Transact-SQL 語法慣例

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

Arguments

收發簡訊

一個字元類型的 表達式 ,例如 nvarcharvarcharncharchar

一班、二班,......n

從文本中提取一個或多個屬性名稱。

失誤

這個 ON ERROR 條款控制 AI 函式如何處理處理錯誤。

  • NULL ON ERROR 當函式無法處理某個值時,會回傳 NULL 。 這是預設行為,不需要特別說明。
  • ERROR ON ERROR 若在處理任何輸入值時發生錯誤,會導致整個查詢失敗。
  • DEFAULT <value> ON ERROR 回傳指定的預設值,而非 NULL 錯誤發生時。

錯誤可能由 負責任的 AI 安全檢查、輸入大小限制、短暫服務問題或其他處理失敗所引起。

傳回類型

包含 JSON 文字的回傳 nvarchar(max)

Remarks

如果 AI 模型無法處理文字,AI 功能會回傳 NULL 。 常見原因包括:

  • 負責任的 AI 規則會 封鎖輸入文字中的不當內容。
  • 輸入文字超過字符限制。 目前型號最多支援 15 KB 的文字。

Examples

答: 從句子中提取性質

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

預期結果:{"sentiment":"Negative","problem":"Dirty room"}

B. 解析擷取後的 JSON 欄位

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