- 类别:
/sql-reference/functions-aggregation`(通用):doc:/sql-reference/functions-string`(大语言模型)
AI_AGG¶
使用自然语言指令减少一列文本数据。
例如,AI_AGG(reviews, 'Describe the most common complaints mentioned in the book reviews') 将返回用户反馈的摘要。
与 COMPLETE (SNOWFLAKE.CORTEX) 和 SUMMARIZE (SNOWFLAKE.CORTEX) 不同,此函数支持大于最大语言模型上下文窗口的数据集。
- 另请参阅:
语法¶
实参¶
必填:
expr此表达式包含要对执行聚合操作的文本,例如餐厅评论或电话记录。
instruction包含要执行的聚合的、使用自然语言规范的字符串,例如“总结评论”或“识别提及的所有人,并为他们写一段简短的传记”。
返回¶
返回包含聚合的结果的字符串。
在以下情况下,该函数可能表明您提供的数据不包含答案:
您没有提供明确的指令来指定如何汇总数据
数据中没有完成指令所需的信息
使用说明¶
为了获得最佳性能,请遵循以下指导原则:
使用纯英文文本作为指令。
提供陈述性指令,而非提问。例如,使用“汇总电话记录”,而非提出“可以汇总一下吗?”这种问题。
描述指令中提供的文本。例如,使用“汇总电话记录”,而非“汇总”这样的指令。
描述预期用例。例如,并非“查找最佳评论”,而是使用“查找适合在餐厅网站上重点展示的最正面、写得最好的餐厅评论”。
Multiple columns can be used in the string expression using
CONCATor the||operator. See the example below.考虑将指令分成多个步骤。例如,不是“总结新文章”,而是使用“您将收到多篇来自不同出版商的新闻文章,它们从不同角度介绍事件。请在不遗漏任何关键信息的情况下,创建一份简明但详尽的源文本摘要。”
示例¶
AI_AGG 可以用作字符串常量的简单标量函数。在以下示例中,AI_AGG 用于汇总产品评价,这些评价以单个字符串形式提供。
AI_AGG 也可以用于一列数据。在以下示例中,使用 公用表表达式 将上述示例中的产品评价作为表中的列提供。
AI_AGG can be used on multiple columns of data using CONCAT or the || operator.
AI_AGG 也可以与 GROUP BY 结合使用。以下示例汇总了评论表中两种产品(由列标识 product_id 区分)的产品评价。
指令可用于各种聚合任务,也可用于配置回应的风格和语气。以下示例使用指令来查找每种商品的最正面评价,并提供该评价的法语和波兰语翻译。
另请参阅 AI_SUMMARIZE_AGG。