为什么AI和SQL像花生酱和果冻一样搭配

AI+SQL=王炸!🚀LLM驱动的AI化身人机接口,赋能PB级分布式对象关系SQL数据库,轻松驾驭地理、图像等复杂数据。RAG算啥?AI直接生成SQL查询,标准化+可扩展,信息检索效率MAX!💥

译自:Why AI and SQL Go Together Like Peanut Butter and Jelly

作者:Ivan Novick

自然的人类语言是访问数据的理想界面,使其具有对话性是最终目标。由大型语言模型 (LLMs)驱动的先进 AI 擅长解释人类意图,并将对话式查询转化为精确的响应。一个可扩展的框架,用于满足 21 世纪的信息检索需求,需要跨越人类语言查询和庞大的数据集。这就需要 AI-SQL 的协同作用。

结构化查询语言 (SQL),以关系代数和集合论为基础,抽象了编程和存储的复杂性,专注于数据检索,包括数据位置、过滤和复杂组合。现代 SQL 运行在具有数千个 CPU 核心的分布式系统上,并具有高级索引以进行快速搜索(例如,帐户 ID、向量化文本、图像、视频),以及欺诈检测等可扩展功能。 包含地理、图像、图形和时间序列数据等可扩展数据类型的 PB 级和分布式对象关系 SQL 数据库可以直接供最终用户访问。这将使信息检索更容易和更有效,而不需要高级的 SQL 查询编写技能。

关于检索增强生成的一句话

检索增强生成 (RAG)是一种广泛采用的框架,用于将语言模型集成到外部数据库查询和资源中;它通常被用作一种使聊天机器人更智能的技术。 虽然 RAG 模式与本文中的概念有相似之处,但本文提出了一种信息检索的第一性原理方法,重点是 AI 与分布式对象关系 SQL 系统配对。RAG 模式使 AI 应用程序更智能,而我正在研究如何通过人类聊天更容易地访问大规模可扩展的复杂数据库系统。

AI 是人机界面

语言是表达思想和意图所必需的。但即使是精心设计的语言有时也会令人困惑。例如,一个电话通常比在线来回交流更快地澄清电子邮件。这是因为对话允许细致、直接的互动。与需要技术专长的编码不同,自然语言是直观的,并且可以通过手动输入或口语广泛访问。

AI 的进步使计算机能够理解和处理人类语言,捕获内容、上下文和意图,以生成相关的响应。通过将对话式输入转换为结构化查询,AI 充当了数据访问的有效界面,以符合我们自然交流模式的方式将人类需求连接到复杂的数据库系统。

LLM 并不足够

LLM 擅长处理人类语言,根据从互联网规模的训练数据集中学习到的模式提供答案。例如,当被问及南加州人口最多的城市时,LLM 正确地回答“洛杉矶”,这是利用了其深度神经网络中根深蒂固的文化知识,而不是搜索原始数据。但是,LLM 在处理特定的、数据驱动的查询时会失败。

考虑一个查询,询问在高峰时段 30 分钟车程内有多少人居住在洛杉矶港。LLM 可能会猜测,但它缺乏提供准确答案所需的精确、实时数据。在人们的生命受到威胁的情况下,拥有精确的信息至关重要。

虽然 LLM 了解意图,但它们需要补充数据源才能提供可靠、可操作的响应。这种局限性强调了 AI 需要与强大的数据系统(如 SQL)连接,以便为复杂的现实场景提供精确的、特定于上下文的答案。

SQL 作为 AI 的数据层

为了为个人和企业需求提供精确的、数据驱动的答案,AI 需要一个强大的后端系统。与不同的、非标准化系统交互效率低下且缺乏可扩展性。同样,依靠 AI 用 C++JavaPythonRust 等语言编写临时代码来查询非结构化数据是不切实际且容易出错的。非关系数据库(如键值存储)可能支持排序、连接或聚合,但通常缺乏 SQL 的标准化、表达性框架,这可能会阻碍 AI 有效处理复杂查询的能力。 SQL数据库在企业中被广泛采用,用于管理大多数结构化数据。它提供了一种声明式的、标准化的架构,简化了定位、过滤和组合数据的过程。

然而,学习编写大型、复杂的SQL查询并非易事,工程师需要数年时间才能掌握。通过开发专门的AI模型,这些模型擅长编写SQL查询,并且能够理解人类语言,我们创建了一座桥梁,将人类意图与创建细粒度和复杂查询的能力相结合,以匹配用户意图。

因此,AI将能够使用一种定义明确的语言轻松创建复杂的SQL查询,AI可以掌握这种语言来访问它需要的所有数据。

SQL将是对象关系型和可扩展的

传统的SQL数据库,如MySQL,主要处理基本数据类型,包括整数、浮点数、日期和文本。然而,现代对象关系型数据库,如PostgreSQL,支持可扩展的、上下文感知的数据类型,包括地理、图像、图形和时间序列数据。这种可扩展性使SQL能够管理各种类型的数据,与人类向AI界面提出的各种查询相一致。

通过容纳动态数据类型,可扩展的SQL系统使AI能够高效地处理和检索复杂的、上下文丰富的信息。因此,对象关系型和可扩展数据SQL数据库对于确保AI能够回答广泛的人类查询至关重要,这些查询包括访问各种数据类型。

AI需要分布式系统

传统的SQL数据库在处理能力有限的单个系统上运行,通常为4到200个CPU核心。这不足以满足当今数据库的需求,例如为需要数千个CPU核心的AI应用程序查询海量数据集。

当今数据处理能力所需的规模超出了单台计算机的容量。它需要分布式SQL数据库,这些数据库能够智能地对数据进行分区,并将查询处理分布在计算机网格或集群中。这些系统通过利用跨多个节点的并行处理,有助于确保可扩展性、速度和可靠性。

为了使AI能够对复杂查询提供实时、准确的响应,分布式SQL数据库将提供强大、高性能的后端,以高效地处理世界上不断增长的数据量。

SQL的优雅

SQL的优雅之处在于其智力上的纯粹性,植根于数学基础。它于1970年代初在IBM的圣何塞研究实验室出现,由Edgar F. Codd博士1970年发表的开创性论文“大型共享数据库的数据关系模型”推动。Codd是一位数学家,他引入了关系模型,使用关系代数和元组关系演算等数学原理将数据结构化为具有行(元组)和列的表(关系),从而确保数据完整性和查询效率。

他的目标是简化数据检索,使其无需复杂的编程即可访问。SQL的声明式语法专为非程序员设计,允许用户指定要检索“什么”数据,而不是“如何”检索,从而抽象出物理存储。SQL在1980年代被ANSI/ISO标准化,成为关系数据库的通用语言,从而可以在各种系统上实现强大、可扩展的查询。

关系是一个表,是一个结构化的数据集,其中列定义属性,行作为元组,每个元组代表一个数据实例。集合是唯一元素的集合,构成了集合论的基础,集合论是SQL操作的基础。关系代数是用于操作关系的形式系统,它定义了诸如连接(基于共享属性组合表)、投影和选择之类的操作,这些操作直接转换为SQL的声明式语法(例如,SELECT,JOIN)。

SQL的精妙之处在SQL优化器组件中最为明显,该组件将逻辑查询意图与物理执行分离。通过使用基于成本的查询计划,优化器采用动态编程和其他算法来评估数十亿个潜在的查询计划,并在亚秒级时间内选择成本最低的选项。它执行逻辑转换(例如,重写查询以提高效率)并将它们映射到物理数据访问模式,例如索引扫描或哈希连接,从而确保强大、可扩展的性能。这种数学对齐使SQL具有永恒的美感。

AI-SQL:像花生酱和果冻一样

信息检索的未来将 AI 的自然语言能力与用于数据访问的高级 SQL 系统相结合,重新定义了人类访问最大和最复杂数据集的方式。AI 使用模式知识生成精确的 SQL 查询,而分布式 SQL 系统则跨越数千个 CPU 核心进行扩展,从而确保速度和可靠性。对象关系 SQL 通过对地理、文本、图像、视频和图形数据的可扩展数据类型支持,处理各种数据集。

这种 AI-SQL 框架结合了自然语言、分布式处理和数据类型可扩展性,正是当今数字环境所需要的。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注