Snowflake Inc. 是一家提供数据云 (Data Cloud) 服务的全球性公司,其核心产品是 Snowflake 云数据平台 (Snowflake Cloud Data Platform) 。
Snowflake 迅速成为现代企业数据战略的核心,尤其是在需要处理大量结构化、半结构化和非结构化数据的场景中。Snowflake 通过集成 Cortex 平台和 AISQL 操作符,Snowflake 正在将其核心数据管理能力扩展到非结构化数据和 LLM 推理领域。
Cortex AISQL 概览
https://arxiv.org/pdf/2511.07663
Snowflake 的 Cortex AISQL 是一个生产级 SQL 引擎,它将原生语义操作(基于大型语言模型,LLM)直接集成到 SQL 中。这使得用户可以编写声明性查询,将传统的关系型操作与语义推理结合起来,从而轻松地同时查询结构化和非结构化数据。
AISQL 扩展了 SQL,将 LLM 功能引入关系模型,提供以下原语操作符:
-
AI_COMPLETE: 用于文本生成。 -
AI_FILTER: 用于语义过滤(如按主题相关性过滤文档)。 -
AI_JOIN: 用于语义连接(如基于语义相似性连接表格)。 -
AI_CLASSIFY: 用于内容分类/归类。 -
AI_AGG和AI_SUMMARIZE_AGG: 用于语义聚合和文本摘要聚合。
一个产品经理可以在一个 SQL 查询中完成以下任务:使用
AI_FILTER过滤出客户表达不满意的支持记录,使用AI_JOIN将这些记录与产品目录连接,使用AI_CLASSIFY对问题严重性进行分类,并使用AI_SUMMARIZE_AGG按产品类别生成高管摘要。
AISQL 已在 Snowflake 生产环境中部署,为客户提供广泛的工作负载支持,包括分析、搜索和内容理解等。它解决了将 LLM 集成到数据库系统中的核心性能和优化挑战,使得对结构化和非结构化数据的混合分析成为可能。
Snowflake 架构的演变
Snowflake 架构的核心设计是计算与存储分离,这使得用户可以独立扩展查询处理资源(即虚拟仓库)和存储的数据量。云服务层 (Cloud Services layer) 负责认证、编译和协调 SQL 工作负载的执行。
随着 LLM(大型语言模型)的爆发式增长,传统的和新兴的数据管理工作负载都在演变。AI 代理现在需要处理数据仓库中存储的数据,同时用户也需要从非结构化数据(如文档、图像、音频、视频)中提取洞察和执行分析。
Cortex 平台是一个多租户组件,能够执行交互式(例如通过 REST 接口)和批处理(例如通过 SQL)的 AI 工作负载。
Cortex 平台支持来自多个合作伙伴(如 OpenAI、Anthropic 和 Meta 等)的大量模型。对于每个推理请求,Cortex 平台会决定是使用自己的推理引擎执行,还是将其转发给合作伙伴的端点。例如,针对 GPT 模型的推理请求会由 Cortex 平台转发给 OpenAI 的端点。
AISQL 核心操作符
AISQL 的核心操作符将自然语言能力引入传统 SQL,使用户能够直接在查询中表达复杂的语义操作。这些操作符支持数据级并行,并可与标准 SQL 构造(如 JOIN、GROUP BY)组合,从而支持丰富的分析工作流。
想象一下,你不再需要编写复杂的逻辑和代码,就能直接问你的数据库:“这封邮件的情绪是积极的吗?”或者“这段销售记录里,客户投诉了哪些产品?”
AISQL 将所有语义操作归纳为五大基本功能:映射、过滤、连接、分类和归约。
✨ AI_COMPLETE
:让 LLM 直接给你“撰写”结果
-
功能: 让 LLM 根据你的提示(Prompt),直接为每一行数据生成一个完整的、语义化的新值。 -
应用场景:情感分析、意图识别、摘要生成。
示例: “请评估一下这个客户评论的满意度。”
-- 数据库直接返回:'非常满意', '略有不满', 等等...
SELECT AI_COMPLETE(PROMPT('Evaluate the customer satisfaction from the product review: {0}', review))
FROM product_reviews;
如果你只需要一个简单的**“是”或“否”**来筛选数据,AI_FILTER 就是你的利器。
🛡️ AI_FILTER
:让 LLM 帮你做 WHERE 条件
-
功能: 保证返回布尔值(True/False),可直接用于 SQL 的 WHERE子句进行高级语义过滤。 -
应用场景:风险识别、情绪监控、行为筛选。
示例: “找出所有客户在销售记录中‘变得恼火’的通话。”
-- 找出那些客户发脾气的通话记录,进行进一步分析。
WHERE AI_FILTER(PROMPT('In this sales transcript, does the customer become irritated? {0}', transcript));
这是 AISQL 颠覆性的功能之一。传统 Join 依赖精确的 ID 或名称匹配;AI_JOIN 则能进行语义匹配。
🤝 AI_JOIN:让两个表格“心意相通”
-
功能: 在 JOIN子句中使用 LLM,基于内容的语义相关性来连接两个表。 -
应用场景:产品投诉匹配、文档关联、实体链接。
示例: “连接所有包含‘客户投诉某个产品’的通话记录和产品信息表。”
-- 就算通话记录中没有产品 ID,只要语义上是投诉某个产品,就能连接成功!
JOIN products AS p
ON AI_FILTER(PROMPT('In this sales transcript, does the customer complain about {0}? {1}',
p.name,
t.transcript));
如果你有一系列预先定义的类别,AI_CLASSIFY 能帮你快速高效地进行多选一的归类。
🏷️ AI_CLASSIFY
:一键归类,精准贴标签
-
功能: 将输入文本(或图像)分配到你提供的有限候选集中的一个或多个类别。 -
应用场景:主题归档、情感细分、意图分类。
示例: “将所有产品评论的情感分类为 'positive'、'neutral' 或 'negative'。”
-- 结果会是清晰的 'positive' 或 'negative' 标签。
SELECT AI_CLASSIFY(review, ['positive', 'neutral', 'negative'], 'Classify the sentiment of this product review.')
FROM product_reviews;
Snowflake AISQL查询引擎
Snowflake 的 AISQL 查询执行引擎 就是那个给数据库装上“超级大脑”的幕后英雄。它彻底改造了传统 SQL,让昂贵又复杂的 AI 推理,也能在海量数据上跑得又快又省!
传统的数据库优化器面对 AI_FILTER 这种 LLM 操作符时,就像面对一个“黑盒” 。AISQL 优化器的首要目标是:把 AI 推理成本(即 LLM 调用次数)降到最低!
-
绝不浪费: 在多个过滤条件中,最昂贵、最耗时的 AI 过滤(比如分析图片的多模态 AI)会被推到查询的最后一步才执行。 -
动态调整: 优化器不再是“一锤子买卖”。它会在查询运行时收集数据,如果发现某个 AI 过滤比预期的更有效,它会动态调整执行顺序,确保最严格的过滤永远优先执行。
AISQL 引入了“模型级联”技术,相当于给数据库配备了一个“快速助理”和一个“专家教授”:
-
快速助理 (Proxy Model): 使用一个轻量级、低成本的模型(比如 Llama3.1-8B)处理绝大多数行。 -
专家教授 (Oracle Model): 只有当快速助理对结果“感到不确定”(即置信度分数落在“不确定区域”时),才会将这些困难的行升级给专家教授处理。
# 学习大模型 & 讨论Kaggle #
每天大模型、算法竞赛、干货资讯

