Wren AI:Uber如何利用Text-to-SQL每月节省14万个小时?揭秘你的企业也能获得的强大力量!
- Rifx.Online
- Programming , Data Science , Generative AI
- 05 Jan, 2025
在数据驱动决策至关重要的世界中,企业正在争相寻找从庞大数据集中提取可操作洞察的最有效方法。Uber,作为实时物流和运输的全球领导者,最近分享了他们的内部Text-to-SQL平台 — QueryGPT(如果你还没有查看这篇文章,请在这里查看)— 是如何彻底改变他们团队与数据互动的方式。通过使员工能够简单地用自然语言提问并获得SQL查询,Uber将查询编写时间减少了70%。考虑到他们每月运行约1.2百万个查询,这意味着每月节省了惊人的140,000小时。
然而,这种显著的效率并不仅仅是为拥有庞大工程资源的科技巨头所提供。随着像Wren AI这样的开源解决方案的出现,Text-to-SQL的优势可以被普及。Wren AI Cloud旨在赋予各类企业使用自然语言查询的能力,利用生成性AI无缝访问他们的数据。在这篇文章中,我们将从技术角度剖析Uber的QueryGPT,并强调Wren AI Cloud如何镜像(在某些情况下简化)这些复杂功能。我们的目标是帮助你理解如何在自己的运营中实施Text-to-SQL — 无论你的规模。
理解Uber的文本到SQL的技术方法
Uber的数据平台是一个庞然大物:它处理着数万亿行数据、数PB的数据以及每月数百万个查询。传统的SQL编写耗时且需要用户具备强大的查询构建技能,理解底层数据模型,并知道在哪里找到正确的表和列。QueryGPT通过使用大型语言模型(LLMs)和巧妙地集成到Uber现有的数据生态系统中,消除了这些障碍。
Uber设计QueryGPT的关键技术组件,分享在QueryGPT文章的帖子中
1. 工作区
工作区是与特定业务领域(如 Mobility、Ads、Core Services 等)对齐的 SQL 示例和表模式的精选集合。通过创建与相关表和查询模板的领域导向集群,QueryGPT 缩小了可能的数据源范围,这显著提高了模型生成 SQL 时的准确性。
工作原理:当用户与 QueryGPT 互动时,系统会首先识别与查询相关的业务领域(例如,针对行程和司机的 Mobility)。在该工作区内,QueryGPT 将引用一组更小、更专注的表和 SQL 模式,而不是扫描 Uber 的整个数据库生态系统。
优势:
- 精准度:通过将搜索范围限制在特定领域的引用中,QueryGPT 更有可能选择正确的表和列。
- 减少复杂性:例如,处理 Mobility 领域的用户只会看到与行程、司机或文件相关的表,从而简化了数据探索过程。
- 可定制性:除了 Uber 默认提供的 系统工作区 外,用户还可以为不属于标准领域的特定用例或新项目创建自己的 自定义工作区。
2. 意图代理
在用户以自然语言输入问题后,QueryGPT 使用 意图代理 来解释用户的意图并确定最合适的工作区。这一步骤对于确保系统将查询指向正确的领域以及相应的表子集至关重要。
- 意图检测:意图代理使用大型语言模型分析用户的查询——寻找关键词、上下文和语义——将其映射到一个或多个领域工作区。例如,如果问题涉及旅行数据、司机详细信息或车辆属性,系统可能会将查询路由到 Mobility 工作区。
- 多重映射:某些查询可能跨越多个领域(例如,涉及 Mobility 和 Ads 数据的分析),在这种情况下,意图代理可以将问题映射到多个工作区。这确保了跨领域查询也得到支持。
- 效率提升:由于只考虑相关的工作区,QueryGPT 减少了在无关模式中翻找的计算开销。这不仅提高了准确性,还缩短了整体查询生成时间。
3. 表代理
一旦 QueryGPT 确定了要关注的业务领域,表代理会提出与用户请求最相关的特定表的列表。对于像 Uber 这样的大型组织,这一步骤至关重要,因为单一领域可能包含数十个甚至数百个具有重叠或互补数据的表。
- 表选择:根据用户的意图和策划的工作区内容,表代理提取出最可能需要用于 SQL 查询的候选表。它利用示例查询、表关系和领域特定知识来决定哪些表是相关的。
- 用户验证:然后,用户会看到所选表的摘要,并被要求确认其是否正确。如果有任何不妥之处——也许系统选择了一个过时的表或遗漏了一个新表——用户可以在继续之前编辑列表。这个人机协作反馈机制有助于保持生成 SQL 的高质量和可信度。
- 增强协作:通过允许用户微调表选择,QueryGPT 缩小了自动查询生成与领域专业知识之间的差距。熟悉特定架构的数据分析师可以迅速确保 QueryGPT 引用的是正确的数据源。
4. 列修剪代理
即使识别出正确的表,大型企业架构可能包含数百列,每一列都必须在查询中描述给语言模型,以防它可能出现在查询中。这种详尽的细节在生成过程中可能会达到或超过令牌限制,尤其是在使用像GPT-4 Turbo这样的高令牌容量模型时。
- 修剪逻辑: 列修剪代理使用LLM调用来过滤掉不太可能与用户问题相关的列。通过这样做,它显著减少了传递给后续查询生成步骤的信息量。
- 成本和性能优势: 由于涉及的令牌更少,QueryGPT降低了每次LLM调用的成本,并加快了查询处理速度。此外,移除不相关的列简化了最终的SQL查询,使其更加透明和易于维护。
- 减少错误: 处理更精简、更有针对性的架构也减少了模型选择错误字段的机会——提高了最终SQL输出的清晰度和准确性。
整合所有内容
这四个组件——工作区、意图代理、表代理和列修剪代理——在Uber中协调一个流畅、高效的文本到SQL生成过程。通过将解决方案细分为特定领域的工作区,通过意图代理过滤查询,通过表代理验证表选择,并在生成最终查询之前修剪不必要的列,QueryGPT确保了高准确性、成本节约和快速周转。这种方法使用户能够通过简单的自然语言问题与Uber复杂的数据生态系统进行交互——提高了整个公司的数据可访问性和运营效率。
QueryGPT在Uber的直接商业影响
从技术上讲,QueryGPT是大规模语言模型(LLM)集成、提示工程和系统设计的奇迹。商业成果反映了这一技术精湛:
- 查询时间减少70%: 从每个查询约10分钟减少到3分钟,这在分析师效率上是巨大的提升。
- 每月节省14万小时: 这不仅意味着成本节省。它使分析师能够花更多时间在增值任务上:解释结果、优化活动、改善乘客体验和增强平台可靠性。
- 更快的反馈循环: 通过更快获取洞察,产品经理和数据科学家可以更快迭代,更频繁地测试假设,并更自信地推出改进。
- 竞争优势: 在一个对市场变化反应敏捷至关重要的行业中,能够快速从数据中提取洞察直接转化为更好的决策和改善的客户体验。
将 Uber 的 QueryGPT 特性映射到 Wren AI Cloud
Uber 的 QueryGPT 无疑令人印象深刻,但它是为拥有丰富工程资源的大型组织量身定制的。一个正在成长的初创公司、中型企业,甚至是单独的数据从业者如何能够利用类似的技术呢?这就是 Wren AI 发挥作用的地方。
Wren AI 是一个开源 SQL AI 代理,旨在使 Text-to-SQL 技术普及化。通过提供一个基于云的平台,集成了许多与 Uber 的 QueryGPT 相同的功能,Wren AI 旨在为用户提供公平的竞争环境。
以下是 Uber 的 QueryGPT 设计如何与 Wren AI 的特性对齐和映射的概述,展示了工作区分离、意图检测、表选择和列修剪等相似原则在这两个系统中的实现。这些相似之处展示了双方在提供简化、安全和用户友好的 Text-to-SQL 体验方面的共同承诺。
1. 工作区 → Wren AI 中的项目与组织
QueryGPT 在 Uber
在 QueryGPT 中,工作区 是特定领域(如出行或核心服务)的 SQL 示例和表模式的精选集合。通过将重点缩小到特定业务领域,QueryGPT 可以更准确地生成 SQL 查询,并确保数据分析师仅与相关上下文的表进行交互。
Wren AI 等效功能
Wren AI 通过其 项目 和 组织 管理功能提供类似的功能。您可以在 Wren AI Cloud 文档中阅读有关创建组织和项目的更多信息:
与 QueryGPT 的工作区类似,Wren AI 的 项目 让您能够对特定数据模型进行分组和隔离,以便只有授权用户可以访问它们。在单个 组织 内,您可以为不同的功能或业务领域设置多个项目——这与 QueryGPT 设置单独工作区的方式类似。Wren AI 中的访问控制确保只有合适的人可以查看和管理敏感数据,与 QueryGPT 中的域范围隔离原则保持一致。
为什么这很重要
- 针对性上下文:通过将数据访问限制在单一工作区或项目内,系统可以更好地理解用户请求并生成更准确的查询。
- 安全性与治理:拥有敏感或专有数据的组织可以从强大的访问控制和数据政策中受益,确保合规性和适当的数据治理。
2. 意图代理 → Wren AI 的意图检测
QueryGPT 在 Uber
当用户输入一个问题时,QueryGPT 的 Intent Agent 会识别该问题属于哪个业务领域——出行、广告等——并将查询路由到相应的工作区。这一步骤大大缩小了相关表和模式的搜索范围,提高了准确性和速度。
Wren AI 等效
Wren AI 的意图检测方法在 Ask 文档 中进行了描述。当你问类似“我有多少个表?”或“给我解释一下客户表”的问题时,Wren AI 会自动判断你是在请求数据检索、架构探索,还是你的问题超出了范围(例如,随意的问候)。
- 数据检索请求:这些查询促使 Wren AI 生成 SQL,将请求映射到基础数据架构。
- 架构探索:当问题更多地涉及结构时——例如列出可用表、描述表的列或解释关系——Wren AI 提供深入的元数据和推荐查询。
为什么这很重要
- 自动域路由:类似于 QueryGPT,Wren AI 的 意图检测 确保您的请求被准确处理,可能导致 SQL 生成或架构探索响应。
- 用户指导:如果请求超出范围(例如,闲聊),Wren AI 会提示用户进行澄清,保持对数据和架构查询的清晰关注。
3. 表代理 → Wren AI 的表检索代理
QueryGPT 在 Uber
在 QueryGPT 中,一旦识别出正确的领域,表代理会建议哪些特定的表是构建 SQL 查询所必需的。用户可以确认这些建议或进行编辑,以确保与他们的实际数据专业知识保持一致。
Wren AI 等效
在 Wren AI 中,这一步对应于 表检索 阶段,我们使用语义搜索来选择与用户问题最相关的 前 10 个表。我们查看每个表的名称及其元数据——例如描述或标签——以确定最佳匹配,然后生成查询。
- 聚焦检索:通过将范围缩小到最相关的表,Wren AI 帮助用户避免在大型复杂的架构中筛选信息。
- 语义相关性:将用户的问题与表元数据进行匹配,确保初始查询阶段既准确又高效。
为什么这很重要
- 准确性:提前识别正确的表格可以减少错误或无关查询的可能性。
- 效率:语义搜索和简洁的前10个表格列表简化了检索过程,为技术和非技术用户节省时间。
4. 列修剪代理 → Wren AI 的列修剪
QueryGPT 在 Uber
在企业环境中,大型数据模式每个表可能有数百个列,在将这些数据输入到 LLM 时可能会达到令牌限制。Column Prune Agent 过滤掉不必要的列,以避免过载模型,从而减少延迟和成本。
Wren AI 等效项
Wren AI 的 Column Prune Agent 执行相同的功能:当您连接大量表格和列时,Wren AI 会修剪那些与查询或用户的直接需求无关的列。这使得系统在规模化操作时保持快速、高效和经济。
为什么这很重要
- 可扩展性:减少令牌负载确保 LLM 能够处理复杂查询,而不会超时或产生巨大的处理成本。
- 提高准确性:专注于最相关的列减少了 AI 的干扰,从而导致更精确的 SQL 生成。
Wren AI 还提供了更多功能
除了强大的文本到 SQL 功能,Wren AI 还提供了一系列额外功能,使数据分析对所有技术背景的团队更加便捷、互动和可访问。
1. 文本到图表
Wren AI 自动生成洞察性图表,以可视化您的数据并发现有意义的模式 — 无需额外步骤。
- 自动图表生成:当您提出问题时,Wren AI 会分析您的数据集并选择最合适的图表类型来展示结果。
- 无缝探索:只需切换到“图表”选项卡,即可查看您的查询结果以条形图、折线图、饼图或其他视觉引人注目的格式呈现。
- 快速洞察:通过可视化数据,您的团队可以更快地发现趋势和关联,使数据驱动的决策更加直观。
了解更多: https://docs.getwren.ai/oss/guide/home/chart
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 Sheets 的连接
Wren AI 使得在熟悉的电子表格工具中共享和处理查询结果变得简单。
- Excel 插件:通过选择特定的线程或视图,将数据直接从 Wren AI 导出到 Excel。此集成减少了手动数据复制的工作,加快了团队已经熟悉的环境中的分析速度。
- Google Sheets 插件:为 Google 的生产力套件提供类似的功能,因此依赖 G Suite 的团队也可以享受无缝的数据导出。
了解更多:
通过整合文本到图表、模板和深度电子表格集成,Wren AI 超越了文本到 SQL,提供一个全面且用户友好的数据分析生态系统。无论您需要快速可视化、适用于常见数据问题的现成模板,还是无缝导出到您首选的电子表格工具,Wren AI 都能满足您的需求。
结论
Uber 的 QueryGPT 和 Wren AI 都采用模块化设计,通过利用关键步骤——工作区或项目分割、意图检测、表选择和列修剪,解决了文本到 SQL 的挑战。这种结构化的方法确保了准确、高效和可扩展的 SQL 生成,同时保持严格的数据治理和安全性。
如果您正在寻找一个强大的开源文本到 SQL 解决方案,将这些创新带入您的组织,Wren AI 提供了您所需的一切,以改变您的团队与数据的互动方式。通过 项目和组织管理、意图检测、逐步 SQL 分解 和 列修剪,Wren AI 确保数据的可访问性、准确性和安全性——无论您是数据分析师、工程师还是商业领袖。
👉 在 GitHub 上探索 Wren AI 的开源项目:https://github.com/Canner/WrenAI
👉 了解更多并立即尝试 Wren AI:https://getwren.ai/
开始简化您的数据工作流程,助力您的团队更快获取洞察——无需手动编写 SQL。