传统数据平台在处理表格数据的结构化查询方面一直表现出色,例如“上个季度西部地区卖出了多少单位?”这种关系型基础非常强大。然而,随着多模态数据(如图像、音频、非结构化文本)的数量和重要性不断增加,依赖传统的外部机器学习管道来回答复杂的语义问题已成为一个显著的瓶颈。
考虑一个常见的电子商务场景:“识别与客户照片显示到货时有损坏迹象相关的高退货率电子产品。”过去,这意味着使用SQL处理结构化产品数据,将图像发送到单独的机器学习管道进行分析,最后尝试结合不同的结果。这是一个多步骤、耗时的过程,AI基本上是附加在数据流上,而不是在分析环境中本地集成。
想象一下,使用一个优雅的SQL语句来处理这个任务——将结构化数据与从非结构化视觉媒体中得出的见解结合起来。通过将生成式AI直接集成到现代数据平台的核心,这一飞跃是可能的。这引入了一个新时代,在这个时代,复杂的多模态分析可以通过熟悉的SQL来执行。
让我们探讨生成式AI如何从根本上重塑数据平台,并允许从业者通过SQL的多功能性提供多模态见解。
关系代数与生成式AI的结合
传统数据仓库的强大之处在于其基于关系代数的基础。这提供了一个数学定义和一致的框架来查询结构化的表格数据,在模式定义良好的情况下表现出色。
但多模态数据包含丰富的语义内容,单靠关系代数无法直接解释。生成式AI集成充当语义桥梁。这使得查询能够利用AI的能力来解释嵌入在多模态数据中的复杂信号,使其能够像人类一样推理,从而超越传统数据类型和SQL函数的限制。
为了充分理解这一演变,让我们首先探索实现这些功能的架构组件。
生成式AI的实际应用
现代数据到AI平台允许企业通过在其核心嵌入生成式AI功能来与数据交互。与其使用ETL管道连接到外部服务,不如使用像BigQuery的AI.GENERATE
和AI.GENERATE_TABLE
这样的功能,用户可以使用熟悉的SQL来利用强大的大型语言模型(LLM)。这些功能将现有表中的数据与用户定义的提示结合起来,传递给LLM,并返回响应。
考虑一个拥有数百万条产品评论的电子商务企业。手动分析如此大量的数据以理解客户意见是极其耗时的。相反,AI功能可以自动从每条评论中提取关键主题并生成简明摘要。这些摘要可以为潜在客户提供快速而有见地的概览。
这些功能不仅限于非表格数据。现代LLM可以从多模态数据中提取见解。这些数据通常存储在云对象存储中,如Google Cloud Storage (GCS)。BigQuery通过ObjectRef
简化了对这些对象的访问。ObjectRef
列位于标准BigQuery表中,并安全地引用GCS中的对象以进行分析。
考虑将结构化和非结构化数据结合用于电子商务示例的可能性:
为了解决依赖于外部文件分析和结构化表数据的情况,BigQuery使用ObjectRef
。让我们看看ObjectRef
如何增强标准BigQuery表。考虑一个包含基本产品信息的表:
我们可以轻松添加一个ObjectRef
列,命名为manuals
在此示例中,用于引用存储在GCS中的官方产品手册PDF。这允许ObjectRef
与结构化数据并存:
这种集成支持复杂的多模态分析。让我们看一个使用客户评论(文本)和产品手册(PDF)生成问答对的示例:
SQL
SELECT
product_id,
product_name,
question_answer
FROM
AI.GENERATE_TABLE(
MODEL `my_dataset.gemini`,
(SELECT product_id, product_name,
('Use reviews and product manual PDF to generate common question/answers',
customer_reviews,
manuals
) AS prompt,
FROM `my_dataset.reviews_multimodal`
),
STRUCT("question_answer ARRAY" AS output_schema)
);
此查询中AI.GENERATE_TABLE
的提示参数使用了三个主要输入:
customer_reviews
列(一个包含聚合文本评论的字符串)manuals ObjectRef
列,直接链接到产品手册PDF该功能使用一个非结构化文本列和存储在GCS中的底层PDF来执行AI操作。输出是一组有价值的问答对,帮助潜在客户更好地了解产品:
扩展ObjectRef的实用性
我们可以通过向表中添加更多ObjectRef
列来轻松整合额外的多模态资产。继续电子商务场景,我们添加一个ObjectRef
列,称为product_image
,它指向网站上显示的官方产品图像。
而且由于ObjectRef
是结构化数据类型,它们支持与数组的嵌套。这对于一个主要记录与多个非结构化对象相关的场景特别强大。例如,一个customer_images
列可以是一个ObjectRef
的数组,每个都指向存储在GCS中的不同客户上传的产品图像。
这种灵活地建模结构化记录与各种非结构化数据对象之间的一对一和一对多关系的能力(在BigQuery中并使用SQL!)打开了以前需要多个外部工具的分析可能性。
特定类型的AI功能
AI.GENERATE
功能在定义输出模式方面提供了灵活性,但对于需要强类型输出的常见分析任务,BigQuery提供了特定类型的AI功能。这些功能可以使用LLM分析文本或ObjectRef
,并将响应作为结构直接返回到BigQuery。
以下是一些示例:
这些特定类型功能的主要优势在于它们对输出数据类型的强制执行,确保从非结构化输入中使用简单SQL获得可预测的标量结果(例如布尔值、整数、双精度数)。
基于我们的电子商务示例,假设我们想快速标记提到运输或包装问题的产品评论。我们可以使用AI.GENERATE_BOOL
进行这种二元分类:
SQL
SELECT *
FROM `my_dataset.reviews_table`
AI.GENERATE_BOOL(
prompt => ("The review mentions a shipping or packaging problem", customer_reviews),
connection_id => "us-central1.conn");
该查询过滤记录并返回提到运输或包装问题的行。请注意,我们不需要指定关键词(例如“破损”、“损坏”)——每条评论中的语义意义由LLM审查。
将一切结合在一起:统一的多模态查询
我们已经探讨了生成式AI如何增强数据平台的能力。现在,让我们重新审视引言中提出的电子商务挑战:“识别与客户照片显示到货时有损坏迹象相关的高退货率电子产品。” 过去,这需要不同的流程,通常涉及多个角色(数据科学家、数据分析师、数据工程师)。
通过集成的AI功能,现在可以用一个简洁的SQL查询来解决这个问题:
这个统一的查询展示了数据平台功能的显著演变。平台不再仅仅是存储和检索各种数据类型的地方,而是成为一个活跃的环境,用户可以通过熟悉的SQL界面直接分析结构化和非结构化数据,提出业务问题并获得答案。这种集成提供了一条更直接的洞察路径,以前需要专业知识和工具才能实现。
AI查询引擎的语义推理(即将推出)
虽然像AI.GENERATE_TABLE
这样的功能在逐行AI处理(丰富单个记录或从中生成新数据)方面非常强大,BigQuery还旨在通过AI查询引擎(AIQE)整合更全面的语义推理。
AIQE的目标是让数据分析师,即使没有深厚的AI专业知识,也能在整个数据集上执行复杂的语义推理。AIQE通过抽象复杂性(如提示工程)实现这一目标,让用户专注于业务逻辑。
AIQE的示例功能可能包括:
结论:不断演变的数据平台
数据平台始终处于不断演变的状态。从以管理结构化、关系型数据为中心的起源,它们现在拥抱非结构化、多模态数据带来的机遇。AI驱动的SQL操作符的直接集成以及通过ObjectRef
等机制支持对对象存储中任意文件的引用,代表了我们与数据交互方式的根本转变。
随着数据管理和AI之间的界限不断融合,数据仓库将继续作为企业数据的中心枢纽——现在具备了更丰富、更人性化的理解能力。曾经需要不同工具和广泛AI专业知识的复杂多模态问题,现在可以更简单地解决。这种向更强大数据平台的演变继续民主化复杂分析,使更多精通SQL的用户能够获得深刻的洞察。