适用于:Microsoft Fabric 中的 SQL 分析终结点和 Microsoft Fabric 中的仓库
该 AI_EXTRACT 函数会用你提供的类从输入文本中提取值,并以 JSON 对象的形式返回结果。
Note
-
AI_EXTRACT处于预览状态。 -
AI_EXTRACT仅在 Microsoft Fabric 的 SQL 分析端点和仓库中提供。
Syntax
AI_EXTRACT ( text, class1, class2 [ , ...n ] [ (NULL | ERROR | DEFAULT <value>) ON ERROR ] )
Arguments
文本消息
一个字符类型的 表达 式,例如 nvarchar、 varchar、 nchar或 char。
一班,二班,......n
从文本中提取一个或多个属性名称。
失误
该 ON ERROR 条款控制AI函数如何处理处理错误。
-
NULL ON ERROR当函数无法处理某个值时返回NULL。 这是默认行为,不需要明确说明。 -
ERROR ON ERROR如果在处理任何输入值时发生错误,整个查询都会失败。 -
DEFAULT <value> ON ERROR返回指定的默认值,而不是NULL在错误发生时返回。
错误可能由 负责任的人工智能 安全检查、输入大小限制、暂时性服务问题或其他处理失败引起。
返回类型
包含 JSON 文本的返回 nvarchar(max) 。
Remarks
如果AI模型无法处理文本,AI功能会返回 NULL 。 常见原因包括:
- 负责任的AI规则会 屏蔽输入文本中的不当内容。
- 输入文本超过令牌限制。 当前模型最多支持 15 KB 文本。
示例
答: 从句子中提取属性
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)
);