优步如何每月节省14万小时:揭秘他们的Text-to-SQL技术 —— 以及你如何也能从中受益
在一个数据驱动决策至关重要的世界里,企业正争相寻找从大量数据集中提取可操作见解的最有效方法。作为全球实时物流和运输服务的领导者,优步最近分享了其内部的文本转SQL平台——QueryGPT(如果你还没有看过这篇帖子,可以在这里查看)——是如何大幅改变其团队与数据交互的方式的。让员工能够用自然语言提问,并自动获得SQL查询作为回应,优步将查询编写时间缩短了70%。考虑到他们每月运行大约120万次查询,这相当于每月节省了约14万小时的工作时间。
投资回报率的QueryGPT,图片来源为Uber: QueryGPT — 将自然语言转换为SQL的生成式AI文章
然而,这种惊人的效率不仅仅局限于拥有庞大工程资源的技术巨头。随着开源解决方案如Wren AI的出现,文本转SQL的优势可以被大众化利用。Wren AI Cloud旨在让所有规模的企业都能利用由生成式AI驱动的自然语言查询,从而无缝访问数据。在这篇文章中,我们将从技术角度分析Uber的QueryGPT,并突出Wren AI Cloud如何(在某些情况下简化)这些复杂功能,使其更易用。我们的目标是帮助你了解如何在自己的业务中实施文本转SQL——无论你的公司规模大小。
了解Uber的将文本转换为SQL的技术手段优步的数据平台是个庞然大物:它每月处理数万亿行数据、数 petabyte 的数据量以及数百万次查询。传统的 SQL 编写耗时且需要用户掌握强大的查询构建技能,理解底层数据模型,并知道如何在正确的表和列中查找。QueryGPT 使用大语言模型(LLM)并巧妙地融入优步现有的数据生态系统,帮助用户克服这些障碍。
当前的设计是 QueryGPT (图片来源 QueryGPT)
Uber设计的QueryGPT关键技术组件,发布在QueryGPT文章上
1. 工作空间工作区是一系列精心挑选的SQL示例和表结构,针对特定业务领域(比如移动性、广告、_核心服务_等)。通过创建针对特定领域的相关表和查询模板,QueryGPT缩小了可能的数据来源范围,这显著提高了生成SQL时的模型准确性。
它是怎么运作的:当用户与QueryGPT交互时,系统会首先识别查询与哪个业务领域(例如,与行程和司机相关的 Mobility)相关。QueryGPT将引用更小、更集中的表和SQL模式,而不是在整个Uber数据库生态系统中进行扫描。
优点:
- 精准度:通过将搜索范围限制在特定领域的引用,QueryGPT 更有可能选择正确的表格和列。
- 减少复杂性:例如,在处理 移动性 领域的用户只会看到与行程、司机或文件相关的表,从而简化了数据探索。
- 可定制性:除了 Uber 提供的默认 系统工作区 之外,用户还可以创建自己的 自定义空间,以应对特定用例或未被标准领域覆盖的新项目。
用户用日常语言输入一个问题后,QueryGPT 使用一个 意图代理 来理解用户的意思,并找到最适合的工作区。这一步对于确保系统能正确地将查询导向相关领域,并进而将查询导向正确的表集合至关重要。
- 意图识别:通过使用大规模语言模型,意图代理查找用户的查询中的关键词、上下文和语义,将其映射到一个或多个领域工作空间。例如,如果用户询问涉及行程数据、司机详情或车辆属性的问题,系统可能会将查询转到_移动性_工作区。
- 多重映射:某些查询可能跨越多个领域(比如同时涉及_移动性_和_广告_数据的分析),在这种情形下,意图代理可以将问题映射到一个以上的工作区。这确保跨领域查询也能得到支持。
- 效率提升:这样只考虑相关工作区,QueryGPT减少了对无关模式进行计算的开销。这不仅提升了准确性,也缩短了整体查询生成时间。
一旦QueryGPT确定了要聚焦的领域,Table Agent 就会提出与用户请求最相关的具体表格清单。这一步在如Uber这样的大型组织中尤为重要,因为单个领域中可能会有数十个甚至数百个包含重叠或互补数据的表格。
- 表选择: 基于用户的意图和整理好的工作区内容,表代理会提取出最有可能用于SQL查询的表候选。它通过示例查询、表关系和特定领域的知识来选择相关的表。
- 用户确认: 用户会看到所选表的摘要,并被要求确认这些表是否正确。如果发现系统选择了过时的表或遗漏了新的表,用户可以在继续前编辑这个列表。这种“人在环中”的反馈机制有助于保持生成SQL的高质量和可信度。
- 增强协作: 通过让用户微调所选表,QueryGPT弥合了自动化查询生成与领域专长之间的差距。熟悉特定模式的数据分析师可以迅速确保QueryGPT引用的是正确的数据源。
即使正确识别了所有表格,大型企业的数据库模式也可能包含数百个列,每个列都必须详细描述给语言模型,以防有可能出现在查询中。这样的详尽描述可能会在生成过程中达到或超出令牌限制,特别是那些具有高令牌容量的模型,比如GPT-4 Turbo。
- 修剪逻辑:列修剪器通过调用大语言模型(LLM)来过滤掉与用户问题不太相关的列。这样可以大大减少传递给后续查询生成步骤的信息量。
- 成本和性能上的好处:因为涉及的 token 较少,QueryGPT 每次 LLM 调用的成本更低,并且处理查询的速度更快。移除无关列,简化 SQL 查询,使其更透明且易于维护。
- 减少错误:处理更精简且更具针对性的架构也减少了模型选择错误字段的可能性 — 提升了最终 SQL 输出的清晰度和准确性。
这四个组件——工作空间、意图代理人、表代理人和列剪枝代理人——在Uber中协同工作,实现了高效、流畅的文本到SQL生成流程。通过将解决方案分割成特定领域的工作空间,利用意图代理人过滤查询,通过表代理人验证表选择,并在最终查询生成前剪除不必要的列,QueryGPT保证了高精度、节省成本和快速反应。这种方法让用户能够用简单的自然语言与Uber复杂的数据库生态系统互动,从而在整个公司提高了数据的可访问性和操作效率。
QueryGPT 对 Uber 的直接影响从技术上来说,QueryGPT 是大型语言模型的整合、提示设计和系统构建的杰作。实际表现也反映了这种技术上的高水平,
- 查询时间减少了70%: 从大约10分钟缩短至每查询只需3分钟,大大提升了分析师的工作效率。
- 每月节省140,000小时: 这不仅意味着节省了成本,它使分析师能够花更多时间在更有价值的任务上:分析结果、优化活动、改善骑手的体验和增强平台的可靠性。
- 更快的反馈循环: 通过更快地获取洞察信息,产品经理和数据科学家可以更快地迭代,更频繁地测试假设并,更有信心地推出改进措施。
- 竞争优势: 在一个响应市场变化至关重要的行业中,能够快速从数据中提取洞察直接转化为更好的决策并改善客户体验。
Uber的QueryGPT无疑是非常出色的,但它更适合那些拥有丰富工程资源的大公司。一个成长中的初创公司、或一个中型企业,甚至是一个独立的数据从业者如何才能使用类似的技术呢?这时,Wren AI 就能帮上忙了。
Wren AI 是一个开源的 SQL 人工智能助手,旨在普及文本到 SQL 的转换技术。通过提供一个集成了类似 Uber 的 QueryGPT 功能的云端平台,Wren AI 力求让技术更加公平可得。
以下是Uber的QueryGPT设计与Wren AI功能的概述,展示了两个系统如何在工作空间分离、意图检测、表选择和列修剪方面相似。这些相似之处表明了双方致力于提供流畅、安全且用户友好的文本转SQL体验。
1. 工作区 → Wren AI 中的项目和组织页面 Uber里的QueryGPT功能在 QueryGPT 中,工作空间 作为特定领域(例如移动性或核心服务)的 SQL 示例和表结构的精选集合。通过将焦点集中在特定业务领域,QueryGPT 可以更准确地生成针对这些领域的 SQL 查询,并确保数据分析师仅与相关领域的表格进行交互。
Wren AI 相当于Wren AI 通过其提供的 项目 和 团队 管理功能提供类似的功能。您可以在 Wren AI Cloud 文档中了解更多关于创建团队和项目的相关信息:
就像 QueryGPT 的工作区一样,Wren AI 的 任务 允许你将特定的数据模型分组和隔离,确保只有授权用户能访问。在单个 组织 内部,你可以为不同的功能或业务领域设置多个任务或工作区——类似于 QueryGPT 设置独立工作区的方式。Wren AI 的访问权限确保只有合适的人可以查看和处理敏感数据,遵循与 QueryGPT 相同的领域隔离原则。
为什么这很重要?- 特定上下文:通过限制数据访问到单一的工作空间或项目中,系统可以更好地理解用户请求并生成更准确的查询结果。
- 安全与治理:拥有敏感或机密数据的组织可以从强大的访问控制和数据政策管理中受益,确保合规性并实现适当的数据治理。
当用户输入一个问题时,QueryGPT的意图代理会识别该问题属于哪个业务领域——如出行、广告业等,并将查询路由到相应的工作区。这一步骤大大缩小了表和模式的搜索范围,从而提高了准确性和加快了速度。
Wren AI 对应于Wren AI 的意图识别方法在Ask 文档中有描述。当你问类似这样的问题时,比如“我有多少张表?”或“给我解释一下客户表”,Wren AI 会自动判断你是在请求数据查询、还是在探索表,或者你的问题超出了范围(例如,打招呼)。
基于AI的数据探索功能
- 数据检索请求:这些请求让Wren AI生成SQL语句,将请求映射到底层数据结构。
- 模式探索:当问题是关于结构的。例如,列出可用的表,描述表的列,或解释关系,Wren AI会提供深入的元数据和推荐的查询。
- 自动领域划分:类似于QueryGPT,Wren AI的_意图检测_确保您的请求被准确处理,要么生成SQL代码,要么响应架构查询。
- 用户引导:如果请求超出其职责范围(例如闲聊),Wren AI会提示用户澄清,保持对数据和架构查询的关注。
在 QueryGPT 中,一旦正确领域被确定,表格代理会提出哪些具体的表是构建 SQL 查询所需的。用户可以确认这些建议,或者对其进行编辑,以确保与他们的实际数据经验一致。
Wren AI 相当于什么?在 Wren AI 中,这一步对应于 表检索阶段,我们使用语义搜索来选择与用户问题最相关的 排名前 10 的表。通过查看表名和元数据(例如描述或标签)来确定最佳匹配项,之后生成查询。
Wren AI架构体系
- 聚焦检索:通过将范围缩小到最相关的表,Wren AI 节省了用户从大型复杂的模式中筛选的时间。
- 语义匹配:将用户的问题与表的元数据进行匹配,确保查询既准确又高效。
- 准确性:前期准确识别正确的表格可以减少错误或无关查询的可能性。
- 效率:基于语义的搜索和简洁的前10个表格列表大大简化了检索过程,无论是技术背景还是非技术背景的用户都能节省时间。
在企业环境中,大型数据模式中的每张表可能有数百列,这可能会在将数据输入到大型语言模型(LLM)时达到令牌上限。列剪枝代理(Column Prune Agent)会过滤掉不必要的列,以避免模型过载,从而减少延迟和节省成本。
Wren AI 等于什么Wren AI的Column Prune Agent具有相同的功能:当你连接许多表格和列时,Wren AI会修剪那些与查询或用户当前需求无关的列。这样系统就能保持快速、高效且成本低廉地运行,即使是在大规模操作中。
为什么这事儿很重要- 可扩展性:减少令牌负载量确保LLM能够处理复杂查询而不会超时或产生高昂的处理费用。
- 提高准确性:专注于最相关的列减少了AI的干扰,从而生成更精确的SQL。
除了其强大的文本转SQL功能,Wren AI 还提供更多功能,使得数据分析对各技术背景的团队来说更加便捷、互动性和易用。
1. 文本转换为图表Wren AI 自动生成图表,帮你洞察数据中的模式,一切自动完成,无需额外操作。
- 自动图表生成:当你提出一个问题时,Wren AI 会自动分析你的数据集并选择最适合的图表类型来展示结果。
- 无缝探索:只需切换到“图表”标签,你就能以条形图、折线图、饼图或其他视觉吸引的格式查看查询结果。
- 快速洞察:通过将数据可视化,你的团队可以更快地发现趋势和关联,从而使基于数据的决策更加直观。
想了解更多: 文档链接
2. 数据模板集在 Wren AI 中,预定义样板是从开始到结束简化数据分析过程的模板,旨在简化您的数据分析旅程从头到尾。
- 简化设置:模板自带预选的表格和列,省去了导入包含无关信息的大数据集的麻烦。
- 快速探索:精心准备的一系列常见问题可以让你迅速获得有价值的见解,无需从零开始摸索。
- 支持的集成:Wren AI 已经为 HubSpot 和 GA4 提供了模板,即将为 WooCommerce 提供支持,更多模板也将陆续推出。
更多了解 : https://docs.getwren.ai/oss/guide/boilerplates/overview
3. SQL一步步解析指南这个分解过程引导用户了解AI是如何选择某些表格和列的,最终生成最终的SQL查询语句。
- 用户透明性:Wren AI 会告知它打算使用的表格和列。用户可以看到这些选择背后的理由,增强用户信任并提高正确性。
- 可解释性:详细解释帮助用户理解 AI 是如何做出其决策的,这对企业的调试和合规性至关重要。
想了解更多:https://docs.getwren.ai/cloud/guide/home/answer#result-steps 可以看看这里.
4. 与 Excel 和 Google 表格的链接Wren AI 让您轻松地在常用的表格软件中分享和操作查询到的结果。
- Excel 插件:通过选择特定的对话或视图,可将 Wren AI 的数据直接导出到 Excel 中。这种集成减少了手动复制数据的需要,并加快了在您团队熟悉的环境中进行数据分析的速度。
- Google Sheets 插件:具有类似的功能,适用于使用 Google 办公套件的团队,这些团队也可以像使用 Excel 一样轻松导出数据。
了解更多详情 :
通过结合文本转图表、模板和深度电子表格集成,Wren AI 不仅仅停留在文本转 SQL,而是提供了一个全面且用户友好的数据分析环境。无论你需要什么样的快速可视化,常见的数据问题解决方案模板,或者无缝导出到你常用的电子表格工具,Wren AI 都能满足你的需求。
结论
优步的QueryGPT和Wren AI都采用了模块化设计,通过分割工作区或项目、识别意图、选择表和修剪列等关键步骤解决了文本到SQL的挑战。这种方法确保了SQL生成的准确性、效率和可扩展性,同时确保了严格的数据治理和安全。
如果你正在寻找一个强大的开源文本转SQL解决方案,将这些创新带给你的组织,Wren AI 提供了你需要的一切来改变你的团队与数据交互的方式。通过 项目和组织管理 、 意图检测 、 逐步解释SQL 和 列筛选 ,Wren AI 确保数据易于获取、准确且安全,适用于所有角色。不论是数据分析师、工程师还是企业领导者,Wren AI 都能满足你的需求。
👉 探索 Wren AI 的开源项目在 GitHub 上 : https://github.com/Canner/WrenAI
👉 了解更多并试试Wren AI:https://getwren.ai/
简化数据处理流程,让团队更强大,更快获得洞察起来,无需手动操作 SQL。
共同学习,写下你的评论
评论加载中...
作者其他优质文章