DataLab:面向大型语言模型驱动的商业智能统一平台

商业智能(BI)将现代组织中的大量数据转化为可操作的见解,以支持明智的决策。最近,基于大型语言模型(LLM)的代理通过根据自然语言(NL)查询自动执行任务规划、推理和行动,在可执行环境中简化了BI工作流程。然而,现有的方法主要集中在单独的BI任务上,如NL2SQL和NL2VIS。BI任务在不同数据角色和工具之间的碎片化导致了迭代和协作性质带来的低效率和潜在错误。本文介绍了一种名为DataLab的 统一 BI平台,它集成了一个 一站式 的LLM基础代理框架和一个 增强型 计算笔记本界面。DataLab通过在一个 单一 环境中无缝结合LLM辅助与用户自定义,支持不同数据角色的广泛BI任务。为了实现这种统一,我们设计了一个针对企业特定BI任务的领域知识融合模块、一个促进BI工作流中信息共享的代理间通信机制以及一个基于单元格的上下文管理策略,以提高BI笔记本中的上下文利用效率。广泛的实验表明,DataLab在各种BI任务上的表现达到了最先进水平。此外,DataLab在来自腾讯的真实世界数据集上保持了高效性,并实现了高达 58.58% 的准确率提升和 61.65% 的标记成本减少。

商业智能(BI)旨在将大量数据转化为可操作的见解,以支持明智的决策 (Quamar等人 2020) 。典型的BI工作流程包括多个阶段,如数据准备、分析和可视化。这需要数据工程师、科学家和分析师使用各种专业工具(例如,Visual Studio Code, Power BI, Tableau),这可能是非常繁琐和耗时的 (Cao等人 2024) 。 因此,现代组织需要先进的技术来自动化和优化这一工作流程。

最近基于大型语言模型(LLMs)的自主代理的发展 (Xie 等人 2024) 为简化BI工作流程提供了潜力(图 1 )。通过接收自然语言(NL)指令,基于LLM的代理可以执行任务规划、推理和行动。这可以显著减少许多BI任务的复杂性,如代码生成 (Lai 等人 2023) , 文本到可视化的转换 (吴扬等 2024) , 和自动化洞察发现 (翁罗轩等 2024) 。

然而,之前关于用于BI的LLM基础代理的研究主要集中在单个任务或阶段,而没有考虑BI工作流程的整体性。BI任务在不同数据角色和工具之间的分离阻碍了无缝的信息流动和洞见交流,增加了沟通成本、延迟和错误 (Kosara 2023; Meduri 等人 2021) 。例如,使用GUI平台(例如,Power BI)的数据分析师通常依赖于使用开发工具(例如,PyCharm)的数据工程师进行数据分析或可视化的数据准备。这种依赖性由于BI的迭代和协作性质,需要分析师和工程师之间的来回沟通 (Quamar 等人 2020) 。这些程序突显了现有碎片化和固定代理管道的局限性 (Hong, Lin, 等人 2024) 。因此,这导致了不同角色、任务和工具之间的重要差距,阻碍了及时和明智的决策。

为了弥合这一差距,我们旨在通过在一个 单一 环境中集成满足各种数据角色需求的 一站式 LLM基础代理框架来统一BI工作流程。然而,在实际企业环境中实现这种统一并非易事,原因如下:

基于LLM的代理用于BI任务的一般工作流程。

C1: 缺乏领域知识融合。 现有研究通常利用干净且合成的研究基准来构建和评估代理 (苏等人 2024) 。然而,BI任务通常涉及大型且脏乱的真实世界数据集,存在许多模糊性 (陈等人 2024) 。例如,业务数据表中的列名可能具有不明确的语义含义 (连等人 2024) ,用户查询通常包含企业特定的行话 (苏等人 2024) 。为缓解这些问题,融入广泛的领域知识对于增强代理对输入数据的理解并提高其在实际BI任务中的性能至关重要。虽然一些方法采用微调 (J等人 2024) 或继续预训练 (Ibrahim等人 2024) 来增强代理的领域特定能力,但在BI场景中获取必要的大型和最新的训练数据仍然具有挑战性,因为它们的复杂性和动态性。

C2: 任务间信息共享不足。 不同任务通常由相应的LLM基础代理管理,以实现最佳性能 (吴等人 2023) 。由于复杂的BI查询可能涵盖多个任务,因此参与代理之间的信息共享至关重要。例如,由 SQL编写代理 检索的数据必须准确传达给 图表生成代理 。因此,有效的代理间通信机制对于对齐他们对整体分析目标、当前数据上下文和执行动作的理解是必不可少的。然而,许多现有的多代理框架,如ChatDev (钱等人 2024) 和CAMEL (Li等人 2023) 使用非结构化的自然语言进行通信。这可能导致失真 (Hong, Zhuge等人 2024) ,并且不足以处理BI任务中常见的多样化信息类型(例如,数据、图表、文本)。

C3: 对适应性LLM上下文管理的需求。 LLM基础代理依赖于他们的 上下文窗口 (即,用于NL理解、推理和生成的有限输入标记)来完成任务。必须提供必要的上下文以确保成功且无缝的工作流程。同时,在统一的BI平台中,大量的多模态上下文(例如,代码片段及其执行结果、图表及其规范)相互交织,并且通常与不同的数据表相关。显然,只有与特定任务相关的上下文部分才应选择性地提供给代理 (Shi等人 2023) 。因此,适应先前状态和当前用户需求的上下文管理对于保持系统的效率和成本效益至关重要。

在本文中,我们介绍了DataLab,一个 统一 环境,该环境支持BI工作流程中的各种数据任务,从而服务于不同数据角色,无论他们使用Markdown、SQL、Python还是无代码,均在一个 单一 计算笔记本中。我们选择笔记本作为基础系统,因其在数据科学中的流行度 (Kosara 2023) 以及其BI工作流程的迭代性质 (Quamar等人 2020) 。DataLab采用了LLM基础代理框架以无缝集成LLM辅助,并通过笔记本界面实现灵活的用户自定义。

为了改进代理在企业特定BI任务上的性能(针对 C1 ),我们开发了一个 领域知识融合 模块,这是一种用于自动化知识生成、组织和利用的系统方法。它利用整个企业的数据处理脚本(例如,Python代码、SQL查询)提取与数据库/表/列相关的知识,从而揭示它们的常见使用模式。为了促进不同任务间的信息共享(针对 C2 ),我们设计了一个 代理间通信 模块,这是一个超越纯自然语言的结构化机制,以增强代理的信息表示能力。它还使用有限状态机(FSM)制定代理间的共享过程,以更可控和高效的方式传递信息。最后,为了管理多模态笔记本中的LLM上下文(针对 C3 ),我们提出了一种 基于单元格的上下文管理 模块,该模块使用有向无环图(DAG)表示单元格间的依赖关系。这些依赖图会根据用户的修改动态更新,从而根据具体任务需求自适应选择相关上下文,提高代理对上下文的利用效率。

总之,我们的主要贡献如下:

  • 我们提出了DataLab,一个通过整合一站式LLM基础代理框架和计算笔记本接口来统一BI工作流程的平台,以弥合不同角色、任务和工具之间的差距。
  • 我们开发了一种系统的方法来进行领域知识融合,以提高LLM基础代理在实际环境中的企业特定BI任务性能。
  • 我们引入了一种结构化的通信机制,以制定不同代理之间的信息共享过程,从而促进跨任务性能。
  • 我们提出了一种自适应上下文管理策略,以提高代理在计算笔记本中对上下文的利用能力,从而提高效率和成本效益。
  • 我们在来自腾讯的研究基准和真实业务数据集上广泛评估了DataLab,展示了其在各种BI任务上的性能。


2 背景
在本节中,我们简要介绍现代BI工作流程的核心阶段和角色。然后,我们将概述基于LLM的代理,重点介绍它们在BI任务中的应用。
2.1 BI工作流程
BI工作流程包括几个关键阶段,即数据收集、存储、准备、分析和可视化。 数据收集 (Whang等人 2023) 是指从数据库和电子表格等各种来源收集原始数据的初始步骤。一旦收集完毕, 数据存储 (康等人 2021) 通常使用数据仓库或数据湖来组织收集的数据以便高效检索。这可能还包括将数据组合成统一格式(即,数据集成)。随后, 数据准备 (陈等人 2024) 确保数据的一致性、正确性和质量。这通常包括清理、结构化和丰富原始数据,使其适合进一步分析。之后, 数据分析 (朱等人 2024) 应用统计和分析技术来提取见解,旨在揭示数据中的模式、趋势和相关性。最后, 数据可视化 (吴扬等人 2024) 以图表、图形和仪表板等形式呈现分析数据,使决策者更容易理解和解释复杂数据。
参与BI工作流程的数据角色因不同组织而异。其中,数据工程师、科学家和分析师通常是不可或缺的。 数据工程师 负责数据收集、存储和准备,构建和管理数据管道以确保数据被准确清洗和结构化以供后续分析。他们通常使用SQL和Python进行数据处理,并使用AWS等云计算平台进行数据存储和摄取。 数据科学家 参与数据准备和分析,应用高级统计和机器学习方法从复杂数据集中提取见解并预测趋势。他们熟悉Python/R和流行的数据科学库如 Pandas 。 数据分析师 专注于数据分析和可视化,分析数据以识别模式并通过详细的可视化报告和仪表板传达发现。他们使用SQL查询数据,并依赖BI平台如Tableau进行分析和分享。
在现代企业中,复杂的BI工作流程需要多个数据角色在各个阶段进行协作。当前用于数据准备、分析和可视化的工具碎片化引入了决策延误的摩擦。因此,一个集成和统一的平台可以作为一个共享环境,促进不同用户组的效率、透明度和生产力。
2.2 用于BI的LLM基础代理
LLM基础代理是由LLMs驱动的自主系统,可以在复杂环境中感知环境、执行任务、做出决策并与用户互动 (Xie等人 2024) 。这些代理包括配置文件、记忆、规划和行动模块,分别定义代理的角色、通过回忆和未来行动规划在动态环境中操作的能力,以及将决策转换为输出 (王磊等人 2024) 。在BI场景中,代理接收用户的NL查询,然后执行数据准备、分析和可视化。通过解释执行结果,他们可以迭代完成许多BI任务,如数据转换 (张泽等人 2024) 和洞察生成 (翁罗轩等人 2024) 。此外,配备了视觉语言模型(VLMs) (张静仪等人 2024) 的代理甚至可以为企业应用程序(例如,BigQuery, Airflow)生成GUI操作 (曹等人 2024) ,这进一步增强了它们在更复杂的BI工作流程中的能力。下面,我们列出了一些典型任务,这些任务可以通过LLM基础代理在每个BI阶段进行简化:

  • 数据收集: 表生成 (阿罗拉等人 2023) , 表扩充 (陈凯文和库达斯 2024) , 表总结 (李鹏等人 2024a) .
  • 数据存储: 数据仓库 (曹等人 2024) , 数据集成 (陈醉等人 2023) , 数据编排 (曹等人 2024) .
  • 数据准备: NL2SQL (高大为等人 2024a) , NL2DSCode (赖等人 2023) .
  • 数据分析: NL2Insight (Sahu等人 2024) , 表Q&A (Mouravieff等人 2024) .
  • 数据可视化: NL2VIS (吴扬等人 2024) , 图表Q&A (韩等人 2023) .
    然而,大多数现有的LLM基础代理仅限于单个任务,无法满足复杂BI工作流程的多样化用户需求。此外,它们经常忽视企业特定知识的集成,导致在专有业务数据集上的表现不佳。这种通用性和定制性的缺乏凸显了BI所需的结构化和自适应代理框架的必要性。
    3 概述
    架构概述。 如图 [fig:overview] 所示,DataLab由两个主要组件组成:(1) LLM基础代理框架 和 (2) 计算笔记本界面 。
  • LLM基础代理框架。 在DataLab中,根据用户需求设计了多个代理来处理不同的BI任务。为此,我们首先识别几个常见的BI程序,并将其抽象为代理在推理过程中可以调用的 数据工具 。示例工具包括用于代码执行的Python沙盒和用于可视化渲染的Vega-Lite环境。伴随其他辅助组件(如内存模块),每个BI代理表示为一个DAG,以实现高度灵活性和易于扩展。在DAG中,节点表示可重用组件(例如,LLM API、工具),边表示它们的连接(例如,工具之间的文件传输)。图 2 展示了NL2VIS的示例代理工作流程。此外,我们在框架中添加了一个 代理 ,作为直接与用户交互并根据用户查询将任务分配给每个专门代理的中心枢纽。这些代理相互协作,以完成BI工作流程中各种数据角色的广泛任务。
  • 计算笔记本界面。 DataLab的笔记本界面(图 3 ) 为不同数据角色提供了一个统一、交互和协作的环境,以完成他们的专业化任务。为此,我们增强了JupyterLab(一种广泛使用的笔记本界面),以支持 (1) 多语言单元格和 (2) 即时LLM辅助。首先, DataLab将SQL、Python/PySpark、Markdown和图表单元格整合在一起,允许技术和非技术用户轻松采用他们在笔记本上的熟悉工作流程。超出只支持Python和Markdown的传统笔记本,DataLab笔记本直接连接到后端数据库以执行SQL查询,并具有类似Tableau的GUI仪表板,用于可视化创作。其次,我们将LLM基础代理框架无缝集成到每个笔记本单元格中。用户可以在笔记本级别和单元格级别获得LLM辅助。具体来说,用户切换输入框并输入分析查询,这些查询由我们框架中的代理处理。这些代理可以在笔记本中创建新单元格或修改现有单元格。用户随后可以检查结果并灵活地进行进一步自定义。
    DataLab工作流程。 接收到自然语言查询和关联数据集后,DataLab首先分析数据集并解释查询,结合领域知识 1

然后将它们输入LLMs。接下来,DataLab利用各种代理完成任务,这可能涉及通过结构化通信机制与其他代理共享信息

。随后,相应结果将在笔记本中呈现。用户可以选择接受、编辑或拒绝结果并继续BI工作流程。与此同时,上下文管理策略

自动在笔记本中生成和维护单元格依赖关系,以促进进一步的代理调用。接下来,我们提供DataLab三个关键模块的概述。


用于NL2VIS的示例代理工作流程。


DataLab的笔记本界面。

  • 领域知识融合。 该模块以数据表的模式、与其关联的脚本历史(例如,SQL查询、Python代码)和数据血缘信息作为输入。具体而言,模式提供了表及其列的基本概述,包括名称和类型。关联的数据处理脚本,由专业人士每天在组织内创建和执行,反映了表及其列的语义含义和常见使用模式。数据血缘信息 (唐明杰等人 2019) 揭示了组织内不同表和列之间的关系,可以作为领域知识提取的辅助资源。基于输入,该模块利用LLMs自动生成数据库、表、列和某些值的 知识组件 (例如,描述、用途)。这些知识组件然后组织在知识图谱中,便于进一步检索和利用,将模糊的用户查询转换为结构化的领域特定语言(DSLs),以提高代理在企业特定BI任务上的性能。
  • 代理间通信。 该模块将不同代理之间的信息流过程公式化为有限状态机(FSM),以控制它们的通信,节点代表代理,边代表代理间信息传输方向。每个代理完成任务后,其输出被格式化为结构化的 信息单元 (Hong, Zhuge等人 2024) ,包括关键特征,如关联表的标识符和代理执行动作的简洁描述。该模块还维护所有代理共享的信息缓冲区,以便根据FSM主动交换信息,提高通信效率。
  • 基于单元格的上下文管理。 该模块根据变量引用在笔记本中识别单元格依赖关系,并构造一个有向无环图(DAG),其中节点表示单元格,边表示它们的依赖关系。值得注意的是,Python或SQL单元格中的数据变量(如 DataFrames 和 SELECTs ) 被精心跟踪。给定用户查询后,该模块遍历DAG以定位相关单元格,根据任务类型进行剪枝,并从共享缓冲区检索信息。然后,将原始单元格及其对应的 信息单元 作为必要上下文提供给代理,以帮助完成任务。
    4 领域知识融合
    在本节中,我们介绍DataLab的 领域知识融合 模块,该模块包括三个阶段:知识生成、组织和利用。
    4.1 知识生成
    现实世界BI场景中的模糊性无处不在,既存在于底层数据库中,也存在于用户的自然语言查询中。例如,考虑查询“显示腾讯BI今年的收入”,涉及三个列:“prod_class4_name”、“shouldincome_after”和“ftime”。这些列名与用户请求之间的语义关系通常是模糊的,导致LLMs在此类任务上的表现不佳。为缓解这些问题,现有方法将表模式 (吴扬等人 2024) 融入提示,并采用检索增强生成(RAG) (苏等人 2024) 来提高LLMs的领域特定能力。我们将常用的三种领域知识分类如下:
  • 元数据: 关于数据结构和属性的信息,如表和列名称、类型、描述和常见使用模式。
  • 业务逻辑: 决定数据如何在业务中使用和解释的规则和流程。
  • 行话: 特定于行业或组织的专业术语和缩写。
    传统上,此类知识由领域专家手动构建,这非常耗时。通过在腾讯进行的广泛检查,观察到虽然85%的表格缺乏全面的元数据,但它们主要与用于数据处理的各种SQL或Python脚本相关联。这些脚本揭示了实际业务上下文中常见的使用模式。此外,对于那些缺乏足够处理脚本的表格,数据血缘信息提供了另一种资源来填补元数据空白。因此,受LLMs卓越代码理解和推理能力的启发,我们提出了一种基于LLM的知识生成方法(算法 [alg:metadata] ),该方法利用脚本历史记录通过精心设计的提示技术抽象和总结知识组件。这种方法包括一个带有自校准机制的Map-Reduce过程 (田等人 2023) ,以生成高质量的数据库、表和列知识。


知识组件。 考虑到之前定义的知识类别,元数据和业务逻辑可以从数据处理脚本中推断出来,因为SQL查询和Python代码支持诸如过滤和聚合的数据操作。业务逻辑对于计算 派生列 至关重要,尽管这些列在原始表中不存在,但在业务背景下具有重要价值。相比之下,行话主要存在于用户查询或组织维基(即文档)中,需要企业特定的词汇表来进行管理和应用。 知识组件 是我们自动化方法可以生成的内容概述如下:

  • 数据库级别:描述、用途、标签。
  • 表级别:描述、用途、组织、关键列名、关键派生属性名、标签。
  • 列级别:描述、用途、类型、标签、派生列信息(名称、描述、用途、计算逻辑、相关列、标签)。
    这些知识组件使用JSON格式进行结构化,以提高LLMs的生成性能。


对于腾讯的每个数据表,我们执行上述Map-Reduce过程,以生成一套全面且高质量的知识组件,这对许多下游BI任务大有裨益。
4.2 知识组织


知识图谱的结构。
4.3 知识利用


查询重写。 除了模糊性外,用户查询可能不完整或未明确说明,尤其是在多轮交互中。例如,查询可能省略了以前的上下文,使用短语 ‘关于’ 。为了确保有效的知识检索,原始查询被增强并重写为更清晰和详细的格式,结合可用的相关先前信息。值得注意的是,时间引用(例如, ‘去年’ ) 根据当前时间进行标准化。


知识检索。 为了通过将相关知识与查询一起整合到LLMs的上下文中来提高其领域特定性能,从知识图谱中选择和排序知识节点至关重要。我们采用粗到细的方法(算法 [alg:know_retrieve] )以确保全面而精确的知识检索。

  • 粗粒度检索: 我们执行词汇和语义搜索,通过查询与每个节点的索引三元组之间的标记匹配和嵌入相似性检索一组粗略的知识节点。我们设置一个相对宽松的阈值以最大化召回率。对于 别名 节点,我们回溯以识别最近的主要节点(即,数据库/表/列/值/行话节点)。


DSL转换。 最后一步是将查询转换为DSL规范,这是BI场景中的常见做法 (苏等人 2024) 。这种JSON结构指定了相关数据和处理要求,包括字段如 ‘MeasureList’ (即,数值列)、 ‘DimensionList’ (即,分类列)和 ‘ConditionList’ (即,过滤器)。我们提示LLM进行DSL转换,提供详细的指令和上下文示例以提高其性能。生成的DSL规范使用JSON Schema (Pezoa等人 2016) 进行验证,以确保语法和语义正确性。该规范可以直接转换为高级语言(如SQL和Vega-Lite)或用于增强复杂任务(如NL2Insight)的自由形式代码生成,从而促进LLM在实际业务环境中的性能。
我们还引入了一种备用策略,以应对相关知识稀缺的情况,特别是对于野外表格。具体来说,我们开发了一个 数据概要 模块,系统地从表格中提取信息。该模块分为两个阶段:(1) 基于启发式分析,识别并计算每列的名称、数据类型(例如, 浮点数 , 字符串 )、基本统计信息(例如, 最小值 , 最大值 ) 和随机样本列表,以及 (2) 基于LLM的解释,将提取的信息输入LLM以生成每列和整个表格的语义描述。这两个阶段共同生成表格的全面摘要,有助于DSL转换过程。
5 代理间通信
在本节中,我们介绍DataLab的 代理间通信 模块,该模块促进多个代理之间的高效通信,以完成复杂的BI任务。
工作流程。 如图 5 所示,接收到用户查询后,代理初始化分析以制定执行计划(由FSM定义),该计划包括分配给不同代理的多个子任务( 步骤1-2 )。它然后根据任务进展动态管理代理间的通信,通过从共享缓冲区检索信息并转发给代理以支持子任务执行( 步骤5-6 )。子任务完成后,代理将输出存储在缓冲区中( 步骤3-4 )。最后,当所有子任务完成后,代理生成最终答案并返回给用户( 步骤7 )。
信息格式结构。 多代理协作中的一个关键考虑因素是 代理之间使用的‘语言’ 。在BI场景中,代理之间交换的信息类型多样,包括SQL查询、Python代码和图表。这种多样性使得依赖自然语言的传统多代理框架 (钱等人 2024; Guohao Li等人 2023) 不足以应对信息共享需求。为此,我们设计了一种针对BI场景独特特征的结构化信息格式。
一个 信息单元 包含六个字段: 数据源 、 角色 、 动作 、 描述 、 内容 和 时间戳 。 数据源 标识代理操作的数据集(例如,表标识符)。 角色 表示代理的身份(例如,SQL代理)。 动作 指定代理的行为(例如, generate_sql_query )。 描述 提供任务执行过程中代理行为的摘要(例如,编写从表中提取特定数据的SQL查询)。 内容 详细说明代理的输出(例如,生成的SQL查询)。 时间戳 记录任务完成的时间。为保持一致的通信,所有代理产生的消息都采用这种格式。


代理间通信的工作流程。
信息共享协议。 另一个重要问题是 如何确保代理之间的高效信息共享 。一种极端方法是每个代理仅根据计划链从其前一个代理接收信息 (Wei等人 2022) 。虽然这减少了数据量,但可能导致代理忽略重要的上下文(例如,与任务相关的背景信息)。相反,允许任何代理不受限制地访问所有其他代理的信息是低效的,因为无关的上下文会降低LLMs的推理质量 (Xi等人 2023) 并在推理期间引入额外的计算开销 (李等人 2024) 。因此,每个代理应只接收完成任务所需的相关信息。
为此,我们引入两种机制来实现这一目标:

  • 共享信息缓冲区 是代理存储和检索信息的位置。任务完成后,代理通过代理将生成的信息存入此缓冲区。这种机制将信息生产者与消费者解耦,从而减少同步开销。因此,代理间的通信变得异步且非阻塞,使生产者无需等待消费者检索信息即可继续处理,反之亦然。另一方面,为了管理通常与多代理协作相关的大量信息,我们采用动态增长的缓冲机制。具体而言,当缓冲区达到容量时,它会自动增加大小(即加倍当前容量)。此外,定期清除过期信息。例如,如果代理的反馈信息更新,则删除原始信息。这确保了缓冲区在适应不断变化的工作负载的同时保持高性能。
  • 选择性检索 确定代理从其他代理接收的信息。受TCP/IP消息传递机制的启发 (Fall和Stevens 2012) ,我们设计了一种基于FSM的方法来实现这一点。具体来说,代理分析用户查询并根据任务需求和每个代理的能力生成FSM,以协调多代理信息共享,节点表示代理,边表示信息传输方向。每个代理在其三个状态: 等待、执行、完成 中运行。当代理(即,充当 ‘客户端’ )需要执行子任务时,代理(即,充当 ‘服务器’ )根据FSM从共享缓冲区中选择相关信息,并转发给客户端代理。接收后,代理从 等待 状态转换为 执行 状态,执行必要的动作并生成结构化信息,然后发送回代理。代理接收到响应后,将其存储在缓冲区中,客户端代理恢复到 等待 状态。这个循环一直持续到所有子任务完成,此时所有代理转换到 完成 状态并释放资源。
    6 基于单元格的上下文管理
    在本节中,我们介绍DataLab的 基于单元格的上下文管理 模块,该模块自适应地管理笔记本中的上下文,以确保系统的效率和成本效益。
    感谢 代理间通信 模块(第 5 节),DataLab可以处理需要多个代理协作的复杂BI任务。具体来说,用户查询将触发笔记本中单元格的呈现或修改,每个单元格对应共享缓冲区中的特定信息单元。然而,之前的模块主要旨在促进 单个 数据角色的 单一 任务完成。相比之下,现实世界的BI场景通常涉及 多个 数据角色在统一笔记本内处理 不同 任务并协作。这通常会在笔记本中生成或更改大量的多语言单元格(例如,SQL、Python、图表),当处理新的用户查询时,有效地为代理提供笔记本中必要的上下文非常重要。简单地提供所有单元格及其相关的信息单元是不可行的,因为这样做效率低下且成本高昂。因此,我们的目标是识别 最小集合 的相关单元格,以最小化令牌使用而不影响代理性能。为实现这一目标,我们将笔记本中单元格的依赖关系建模为基于变量引用的DAG,并提出了一种自适应上下文检索机制。

  • 识别新变量。 对于Python单元格,我们从原始代码构建抽象语法树(AST)以找到可跨整个笔记本访问的 全局 变量(例如,函数/类定义、包导入)。我们排除局部变量,因为它们仅在其作用域内可见。对于SQL单元格,任何 SELECT 的输出存储在一个数据变量(例如, DataFrame )中供将来使用,因此代表一个新变量。相比之下,Markdown和图表单元格不会生成可在其他地方引用的变量,因此被省略。我们使用哈希表存储变量-单元格关联。
  • 查找引用单元格。 基于哈希表,我们通过识别其 外部 变量(在其他单元格中定义)来定位每个单元格的引用单元格。对于Python和SQL单元格,这可以通过AST轻松实现。对于图表单元格,底层数据变量作为参考点。由于Markdown单元格不与任何变量关联,因此它们被排除在此步骤之外。因此,使用提取的单元格引用构建笔记本的DAG。
    DAG会在创建、修改或删除单元格时实时维护,前提是这些更改通过了语法检查。这确保了单元格依赖关系的实时维护。


然后,我们从共享缓冲区中检索每个相关单元格生成或修改的信息。通过结合检索到的信息单元和原始相关单元格,确定查询所需的最终必要上下文,从而为代理提供简洁而充分的背景信息,以理解和解决查询。
7 实验
在本节中,我们使用公共研究基准和来自腾讯的专有业务数据集评估DataLab的性能,包括端到端性能比较、敏感性分析、 领域知识融合 评估、 代理间通信 评估和 基于单元格的上下文管理 评估。
注意:百分比增益相对于用下划线标记的较弱最先进基线计算。
7.1 端到端性能
为了展示DataLab作为一个统一BI平台的能力,我们首先比较其在四个典型BI任务上的端到端性能与最先进的LLM基础基线。
7.1.1 设置
NL2SQL 任务将自然语言转换为SQL查询,通常标志着BI工作流程的开始。我们使用两个基准(即Spider (Yu等人 2018) 和BIRD (Li等人 2023) )并比较两个基线(即DAIL-SQL (高大为等人 2024b) 和 DIN-SQL (Pourreza和Rafiei 2023) )。我们使用 执行准确性(EX) 作为评估指标,衡量生成的SQL查询与真实值的执行等价性。
NL2DSCode 任务将自然语言转换为使用Python库(如 NumPy 和 Pandas )的数据科学代码,这在整个BI工作流程中频繁发生。我们使用两个基准(即DS-1000 (赖等人 2023) 和 DSEval 2 (张宇等人 2024) )并比较两个基线(即CoML (张磊等人 2024) 和 Code Interpreter (shroominic) )。 通过率 用作评估指标,它将通过的问题数量除以所有问题。
NL2VIS 任务将自然语言转换为基于Python库(如 Matplotlib )或可视化语法(如 Vega-Lite )的数据可视化。我们使用两个基准(即nvBench (罗等人 2021) 和VisEval (陈等人 2024) )并比较两个基线(即LIDA (Dibia 2023) 和 Chat2Vis (Maddigan和Susnjak 2023) ) 3 。对于nvBench,我们使用 EX 指标进行评估,该指标基于呈现的数据值和图表类型衡量生成的可视化与真实值的等价性 (Guozheng Li等人 2024) 。对于VisEval,我们使用 通过率 指标衡量有效或合法结果的数量除以所有查询的数量,以及使用GPT-4V(ision) (杨正远等人 2023) 判断的 可读性评分 来衡量生成可视化的整体质量 (陈等人 2024) 。
NL2Insight 任务将分析目标转换为数据见解,这需要LLMs的全面解决问题能力。我们使用两个基准(即InfiAgent-DABench (胡等人 2024) 和InsightBench (Sahu等人 2024) )并比较两个基线(即AutoGen (吴清云等人 2023) 和 AgentPoirot (Sahu等人 2024) )。对于InfiAgent-DABench,我们计算具有正确答案的问题与所有问题的 准确性 。对于InsightBench,我们使用摘要级别的 LLaMA-3-Eval 和 ROUGE-1 评分作为评估指标,这些指标分别基于LLaMA-3判断和单字重叠来衡量生成见解与真实值的一致性 (Sahu等人 2024) 。
7.1.2 结果
如表 [tab:e2e] 所示,DataLab在所有四个BI任务上实现了可比的性能或甚至超越了大多数仅专注于单一任务的最先进LLM基线。具体而言,DataLab在包括BIRD、DS-1000、DSEval、InsightBench和VisEval在内的多个基准上均优于所有基线,涵盖了每个关键BI阶段。这证明了DataLab通过统一的LLM代理框架整合BI工作流程的优势。
对于需要生成符号语言的任务(例如,NL2SQL、NL2DSCode、NL2VIS),DataLab由于其 领域知识融合 模块生成的中间DSL规范而表现稳定。尽管大多数研究基准缺乏提取表格/列知识所需的信息,但DataLab采用了精心设计的数据概要策略作为替代方案(第 4.3 节),以充分利用提供的数据模式,使LLMs能够正确识别并关联数据列与自然语言查询之间的语义关系,这对于生成高质量的DSL至关重要。因此,与仅输入原始纯自然语言查询相比,这些中间DSL可以显著提高LLM代理在生成高级语言(如SQL查询、Python代码或Vega-Lite规范)方面的性能,这也得到了先前工作的验证 (王波等人 2023) 。
对于更复杂的任务(例如,NL2Insight),通常需要多步推理和/或多个代理的协作,DataLab也表现出令人满意的效果。值得注意的是,它在DABench上比流行的多代理框架AutoGen高出5.06%,在InsightBench上高出19.35%。这种性能提升主要归因于两个关键因素:代理对涉及数据集的改进理解以及我们结构化通信机制的引入。该机制标准化了代理间的信息共享,使得在提供高层次分析目标时能够进行更全面和彻底的洞察发现过程。
7.2 敏感性分析


DataLab使用不同底层LLM的性能。
为了评估DataLab的鲁棒性,我们在上述任务中使用闭源和开源LLM(即, GPT-4 , Qwen-2.5 (团队 2024) , 和 LLaMA-3.1 (Dubey等人 2024) )进行了实验,使用的基准包括Spider、DS-1000、DABench和VisEval。
如图 6 所示,DataLab在所有任务上始终表现出满意的性能,尽管对底层LLM有一定的敏感性。专有模型如GPT-4通常表现出更好的指令跟随和代码生成能力,超过了开源模型如Qwen-2.5和LLaMA-3.1。对于代码密集型任务如NL2DSCode和NL2Insight,LLaMA-3.1的表现明显下降,尤其是在DS-1000上,这是由于其相对较弱的代码生成能力。我们进一步使用原始LLaMA-3.1评估DS-1000,达到了36.90%的通过率(低于与DataLab集成时的42.50%)。另一个有趣的事实是,在VisEval上,所有三种LLM的表现相似,LLaMA-3.1出人意料地是最好的。这些发现表明,尽管LLM有所差异,DataLab在整个任务中保持了一致的性能,这得益于我们的数据概要和通信机制。数据概要机制增强了代理对输入数据的理解,而代理间通信模块则实现了高效的错误处理和迭代改进,从而提高了整体性能。
7.3 领域知识融合的影响
7.3.1 知识生成
如第 4.1 节所述,该模块旨在自动生成数据表和列的知识组件。在腾讯部署一个月后,成功处理了 2,426 个数据库、 262,041 张表和 2,708,884 个列(平均每张表10.3个列),平均每个表的时间成本为45.2秒。这些统计数据展示了我们方法在大型企业中的实际应用。
为了评估生成知识的质量,我们收集了一个包含50张表和629个列的真实世界数据集。每张表和每个列由领域专家标注其语义含义的真实值。然后,我们使用M3-Embedding (陈建吕等人 2024) 比较生成描述与真实值之间的 句子嵌入相似度(SES) ,其中1表示相同,0表示无关。结果显示,表的平均 SES 得分为 0.712 (60%超过0.7),列的平均得分为 0.677 (53%超过0.7),表明生成知识的实际效用。
总体而言,真实世界的部署和质量评估展示了该模块在实际环境中知识生成过程的效率和有效性。
7.3.2 下游任务
为了评估该模块在现实世界中的影响,我们评估以下下游任务:

  • 模式链接 任务旨在根据自然语言查询从数据库模式中选择相关的表和列,为后续分析提供基础 (雷文强等人 2020) 。它要求LLMs精确捕捉用户输入与模式元素之间的语义关系。
  • NL2DSL 任务将自然语言查询转换为DSL,这已在商业BI平台中广泛应用,并且对许多下游任务至关重要 (Popovic等人 2015; Su等人 2024) 。在DataLab中,DSL用于生成SQL查询、Python代码和可视化。


由于现实世界BI场景中常见的模糊性和行话问题,两项任务都需要LLMs对领域知识有深入理解。对于模式链接,我们收集了一个包含439个查询-表-列对的真实世界数据集,并使用 Recall @5 进行评估。对于NL2DSL,我们编译了另一个包含326个查询-DSL对的数据集,并测量总体 准确率 。然后,我们使用此模块为每个相关表和列生成知识。为了对比,我们设计了以下三种实验设置:

  • S1(无知识) :此设置提供自然语言查询以及由 Pandas 生成的简短数据模式,但不提供额外知识,作为基线。这是大多数现有LLM代理常用的设置。
  • S2(部分知识) :与S1相比,此设置还提供了生成的数据表和列的 描述 、 用途 和 标签 。它几乎涵盖了我们实际部署中的所有成功案例。
  • S3(全部知识) :与S2相比,此设置进一步提供了所有生成的数据表和列的知识(见第 4.1 节)。它大约占我们实际部署中40%的成功案例。
    如表 1 所示,当提供企业特定知识时,DataLab在这两个任务上的性能显著提高。具体来说,模式链接的 Recall @5 增加了 38.47% ,NL2DSL的 准确率 最高提升了 58.58% 。即使只有部分知识(S2),与基线(S1)相比,模式链接的性能仍显著提高了30.77%,NL2DSL的性能提高了29.14%。在腾讯的部署过程中,我们观察到许多现实世界业务表格缺乏足够的信息以生成全面的知识,通常仅限于表和列的 描述 、 用途 和 标签 。虽然理解模糊表/列名称的语义含义可以大大增强LLMs的性能,但缺乏其他知识——尤其是NL2DSL中派生列的 计算逻辑 ——可能会在某些情况下阻碍其能力。这解释了S2和S3之间的性能差异。尽管如此,S2的有希望的结果保证了下游任务在现实世界BI场景中最低可接受的性能水平,展示了该模块的有效性和稳健性。
    7.4 代理间通信的影响
    我们实验了一个涉及多个任务的复杂BI场景,这些任务由不同的代理执行:NL2SQL、NL2DSCode、NL2VIS、异常检测、因果分析和时间序列预测。我们从腾讯的实际环境中编译了一个数据集,包含2个数据库、10张表和111个列。对于每张表,我们精心设计了10个来自真实世界业务查询的复杂问题,总共100个样本。每个问题需要多步推理和多代理协作,确保对我们代理间通信机制的严格评估。
    我们通过分别计算代理响应所有问题的 成功率 和 准确性 来评估该模块的效率和效果。 成功率 衡量在每个代理最多调用5次内成功解决的问题比例,而 准确性 衡量所有问题中正确答案的比例。为了对比,我们采用以下三种实验设置:
  • S1(无FSM) (Hong, Zhuge等人 2024) :此设置移除了基于FSM的信息共享协议。因此,每个代理接收共享缓冲区中的 所有 信息。
  • S2(无信息格式化) (吴清云等人 2023) :此设置移除了信息格式结构并采用 纯自然语言 进行代理间通信。
  • S3(两者都有) :此设置保留了两种技术。

如表 2 所示,DataLab在复杂BI任务上的性能通过我们的代理间通信机制在 成功率 上提高了 19.00% ,在 准确性 上提高了 28.00% 。没有基于FSM的信息共享协议(S1),性能显著下降。错误分析显示,大多数失败涉及超过3个代理,导致过多且无关的信息妨碍了LLMs的推理,从而导致错误输出 (Shi等人 2023) 。此外,缺少信息格式结构(S2)导致 成功率 降低了7%, 准确性 下降了5%,突显了结构化提示在增强LLM理解和减少信息共享模糊性方面的重要性。这在BI场景中尤为重要,因为复杂任务通常需要迭代错误处理以进行数据处理,并为长输出提供结构化的总结。

DAG构造的时间成本。

7.5 基于单元格的上下文管理的影响

7.5.1 DAG构造

为了评估DAG构造过程的效率,我们从实际环境中收集了50个包含多语言单元格的DataLab笔记本,单元格数量范围从2到49。我们测量了DAG构造在笔记本级别和单元格级别的 时间成本 。初始构造包括在打开笔记本时涵盖所有单元格,而后续更新通常只涉及单个单元格。我们的目标是确保合理的冷启动时间,同时保持后续更新的实时响应。

如图 7 所示,DAG构造和更新保持较低的时间成本,分别不超过 250 和 10 毫秒 。总构造时间随着单元格数量增加,最多为35个单元格时达到232.22毫秒。相比之下,单个单元格的更新时间平均为3.78毫秒,最多为5个单元格时达到9.84毫秒。时间成本不仅受单元格数量影响,还受代码行数影响,导致观察到的波动。鉴于典型的DataLab笔记本包含少于50个单元格,这些结果展示了DAG构造的效率。

7.5.2 任务完成

对于我们收集的数据集中的每个笔记本,我们从中衍生出3个真实的用户查询,涉及NL2SQL、NL2DSCode和NL2VIS任务,总共150个样本。我们使用两个指标评估该模块的性能和成本效益: 准确性 和 每次查询的令牌成本 。为了对比,我们进行了一个消融研究,设置了两种实验: S1(无DAG) 和 S2(有DAG) 。

如表 3 所示,DataLab在两种设置下都取得了令人满意的 准确性 。进一步分析表明,某些Markdown单元格可能包含对任务完成至关重要的信息,偶尔未能被我们的上下文检索机制捕获,这是由于嵌入相似性的局限性 (Steck等人 2024) 。这导致了S2下 准确性 轻微下降4.67%。相反,S2显著减少了 每次查询的令牌成本 ,相比S1降低了 61.65% 。这是通过基于DAG识别 最小集合 的相关单元格实现的。这些结果展示了该模块的成本效益,同时保持了可接受的性能。

8 相关工作

商业智能平台。 BI平台支持用户分析业务数据以进行决策 (Meduri 等人 2021; Lian等人 2024) 。代表平台如Tableau (Tableau 2024) 、Power BI (Microsoft 2024) 和Databricks (Databricks 2024) 提供GUI以支持用户交互进行数据转换和仪表板生成。这些平台还集成了自然语言接口 (Tory 和Setlur 2019; Feng等人 2024) 以降低手动操作的负担。Quamar等人 (Quamar等人 2020) 提出了一种基于业务模型的本体方法,为查询解释提供语义信息和推理能力。LLMs的出现进一步增强了BI平台的领域知识集成和可视化生成能力 (Miao等人 2024; Zhou等人 2024) 。与这些主要针对数据分析场景的现有工具相比,我们不仅支持更全面的阶段(例如,数据收集和准备),还支持BI场景中的角色(例如,数据工程师和科学家),这显著降低了平台切换和需求沟通的成本。

基于LLM的数据分析。 LLMs在语义理解和逻辑推理方面表现出显著的能力,促进了会话界面中复杂数据分析任务的执行 (翁罗轩等人 2024; Chen等人 2024) 。早期实证研究 (Chopra等人 2023) 探讨了数据分析师如何与LLMs互动,并识别出诸如上下文数据检索、提示细化和代码适应等挑战。Table-GPT (李鹏等人 2024b) 通过对合成表任务数据进行微调以增强其表格理解能力。受到链式思维提示的启发 (Wei等人 2022) , Chat2Query (朱俊鹏等人 2024) 将NL2SQL任务分解为多个步骤以提高生成质量。类似地,InsightPilot (Ma等人 2023) 自动化数据洞见的发现并将其综合为高层次概述。Chat2Data (Zhao等人 2024) 利用基于向量数据库的领域知识以缓解LLMs的幻觉问题。虽然大多数现有工作集中在单独的任务上并以端到端的方式生成结果,我们引入了一个统一平台,支持计算笔记本工作空间中的各种数据任务。它允许用户干预中间结果,实现BI场景中更灵活的人机LLM协作。

9 结论

本文介绍了DataLab,这是一个结合了LLM基础代理框架和计算笔记本界面的统一商业智能平台。DataLab具备领域知识融合模块、代理间通信机制和基于单元格的上下文管理策略。这些组件实现了LLM辅助与用户自定义的无缝集成,使DataLab非常适合实际BI场景。广泛的实验研究表明,无论是研究基准还是真实世界业务数据集,DataLab都表现出色。

Arora, Simran, Brandon Yang, Sabri Eyuboglu, Avanika Narayan, Andrew Hojel, Immanuel Trummer, and Christopher Ré. 2023. “Language Models Enable Simple Systems for Generating Structured Views of Heterogeneous Data Lakes.” Proc. VLDB Endow. 17 (2): 92–105.

Cao, Ruisheng, Fangyu Lei, Haoyuan Wu, Jixuan Chen, Yeqiao Fu, Hongcheng Gao, Xinzhuang Xiong, et al. 2024. “Spider2-v: How Far Are Multimodal Agents from Automating Data Science and Engineering Workflows?” CoRR abs/2407.10956.

Chen, Jianlyu, Shitao Xiao, Peitian Zhang, Kun Luo, Defu Lian, and Zheng Liu. 2024. “M3-Embedding: Multi-Linguality, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation.” In ACL (Findings) , 2318–35. Association for Computational Linguistics.

Chen, Kaiwen, and Nick Koudas. 2024. “Unstructured Data Fusion for Schema and Data Extraction.” Proc. ACM Manag. Data 2 (3): 181.

Chen, Nan, Yuge Zhang, Jiahang Xu, Kan Ren, and Yuqing Yang. 2024. “Viseval: A Benchmark for Data Visualization in the Era of Large Language Models.” IEEE Transactions on Visualization and Computer Graphics .

Chen, Peter Baile, Fabian Wenz, Yi Zhang, Moe Kayali, Nesime Tatbul, Michael J. Cafarella, Çagatay Demiralp, and Michael Stonebraker. 2024. “ BEAVER: An Enterprise Benchmark for Text-to-SQL.” CoRR abs/2409.02038.

Chen, Sibei, Hanbing Liu, Waiting Jin, Xiangyu Sun, Xiaoyao Feng, Ju Fan, Xiaoyong Du, and Nan Tang. 2024. “ChatPipe: Orchestrating Data Preparation Pipelines by Optimizing Human-ChatGPT Interactions.” In SIGMOD Conference Companion , 484–87. ACM .

Chen, Zui, Zihui Gu, Lei Cao, Ju Fan, Samuel Madden, and Nan Tang. 2023. “Symphony: Towards Natural Language Query Answering over Multi-Modal Data Lakes.” In CIDR . www.cidrdb.org.

Chiang, David Cheng-Han, and Hung-yi Lee. 2023. “Can Large Language Models Be an Alternative to Human Evaluations?” In ACL , 15607–31. Association for Computational Linguistics.

Chopra, Bhavya, Ananya Singha, Anna Fariha, Sumit Gulwani, Chris Parnin, Ashish Tiwari, and Austin Z. Henley. 2023. “Conversational Challenges in AI-Powered Data Science: Obstacles, Needs, and Design Opportunities.” CoRR abs/2310.16164.

Databricks. 2024. “Databricks 数据智能平台。” https://www.databricks.com/ .

Dibia, Victor. 2023. “ LIDA: A Tool for Automatic Generation of Grammar-Agnostic Visualizations and Infographics Using Large Language Models.” In ACL (Demo) , 113–26. Association for Computational Linguistics.

Dubey, Abhimanyu, Abhinav Jauhri, Abhinav Pandey, Abhishek Kadian, Ahmad Al-Dahle, Aiesha Letman, Akhil Mathur, et al. 2024. “The Llama 3 Herd of Models.” CoRR abs/2407.21783.

Fall, Kevin R, and W Richard Stevens. 2012. Tcp/Ip Illustrated . Vol. 1. Addison-Wesley Professional.

Feng, Yingchaojie, Xingbo Wang, Bo Pan, Kamkwai Wong, Yi Ren, Shi Liu, Zihan Yan, Yuxin Ma, Huamin Qu, and Wei Chen. 2024. “ XNLI: Explaining and Diagnosing NLI-Based Visual Data Analysis.” IEEE Trans. Vis. Comput. Graph. 30 (7): 3813–27.

Gao, Dawei, Haibin Wang, Yaliang Li, Xiuyu Sun, Yichen Qian, Bolin Ding, and Jingren Zhou. 2024a. “Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation.” Proc. VLDB Endow. 17 (5): 1132–45.

———. 2024b. “Text-to-SQL Empowered by Large Language Models: A Benchmark Evaluation.” Proc. VLDB Endow. 17 (5): 1132–45.

Gormley, Clinton, and Zachary Tong. 2015. Elasticsearch: The Definitive Guide: A Distributed Real-Time Search and Analytics Engine . " O’Reilly Media, Inc.".

Han, Yucheng, Chi Zhang, Xin Chen, Xu Yang, Zhibin Wang, Gang Yu, Bin Fu, and Hanwang Zhang. 2023. “ChartLlama: A Multimodal LLM for Chart Understanding and Generation.” CoRR abs/2311.16483.

Hong, Sirui, Yizhang Lin, Bang Liu, Bangbang Liu, Binhao Wu, Danyang Li, Jiaqi Chen, et al. 2024. “Data Interpreter: An LLM Agent for Data Science.” CoRR abs/2402.18679.

Hong, Sirui, Mingchen Zhuge, Jonathan Chen, Xiawu Zheng, Yuheng Cheng, Jinlin Wang, Ceyao Zhang, et al. 2024. “MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework.” In ICLR . OpenReview.net.

Hu, Xueyu, Ziyu Zhao, Shuang Wei, Ziwei Chai, Qianli Ma, Guoyin Wang, Xuwu Wang, et al. 2024. “InfiAgent-DABench: Evaluating Agents on Data Analysis Tasks.” In ICML . OpenReview.net.

Ibrahim, Adam, Benjamin Thérien, Kshitij Gupta, Mats L. Richter, Quentin Gregory Anthony, Eugene Belilovsky, Timothée Lesort, and Irina Rish. 2024. “Simple and Scalable Strategies to Continually Pre-Train Large Language Models.” Trans. Mach. Learn. Res. 2024.

J, Mathav Raj, Kushala VM, Harikrishna Warrier, and Yogesh Gupta. 2024. “Fine Tuning LLM for Enterprise: Practical Guidelines and Recommendations.” CoRR abs/2404.10779.

Ji, Ziwei, Tiezheng Yu, Yan Xu, Nayeon Lee, Etsuko Ishii, and Pascale Fung. 2023. “Towards Mitigating LLM Hallucination via Self Reflection.” In EMNLP (Findings) , 1827–43. Association for Computational Linguistics.

Kang, Donghe, Ruochen Jiang, and Spyros Blanas. 2021. “Jigsaw: A Data Storage and Query Processing Engine for Irregular Table Partitioning.” In SIGMOD Conference , 898–911. ACM .

Kosara, Robert. 2023. “Notebooks for Data Analysis and Visualization: Moving Beyond the Data.” IEEE Computer Graphics and Applications 43 (1): 91–96.

Lai, Yuhang, Chengxi Li, Yiming Wang, Tianyi Zhang, Ruiqi Zhong, Luke Zettlemoyer, Wen-Tau Yih, Daniel Fried, Sida I. Wang, and Tao Yu. 2023. “ DS-1000: A Natural and Reliable Benchmark for Data Science Code Generation.” In ICML , 202:18319–45. Proceedings of Machine Learning Research. PMLR .

Lei, Wenqiang, Weixin Wang, Zhixin Ma, Tian Gan, Wei Lu, Min-Yen Kan, and Tat-Seng Chua. 2020. “Re-Examining the Role of Schema Linking in Text-to-SQL.” In EMNLP , 6943–54. Association for Computational Linguistics.

Li, Dengchun, Yingzi Ma, Naizheng Wang, Zhengmao Ye, Zhiyuan Cheng, Yinghao Tang, Yan Zhang, et al. 2024. “MixLoRA: Enhancing Large Language Models Fine-Tuning with LoRA-Based Mixture of Experts.” https://arxiv.org/abs/2404.15159 .

Li, Guohao, Hasan Hammoud, Hani Itani, Dmitrii Khizbullin, and Bernard Ghanem. 2023. “ CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society.” In NeurIPS .

Li, Guozheng, Xinyu Wang, Gerile Aodeng, Shunyuan Zheng, Yu Zhang, Chuangxin Ou, Song Wang, and Chi Harold Liu. 2024. “Visualization Generation with Large Language Models: An Evaluation.” CoRR abs/2401.11255.

Li, Jinyang, Binyuan Hui, Ge Qu, Jiaxi Yang, Binhua Li, Bowen Li, Bailin Wang, et al. 2023. “Can LLM Already Serve as A Database Interface? A BIg Bench for Large-Scale Database Grounded Text-to-SQLs.” In NeurIPS .

Li, Peng, Yeye He, Dror Yashar, Weiwei Cui, Song Ge, Haidong Zhang, Danielle Rifinski Fainman, Dongmei Zhang, and Surajit Chaudhuri. 2024a. “Table-GPT: Table Fine-Tuned GPT for Diverse Table Tasks.” Proc. ACM Manag. Data 2 (3): 176.

———. 2024b. “Table-GPT: Table Fine-Tuned GPT for Diverse Table Tasks.” Proc. ACM Manag. Data 2 (3): 176.

Lian, Jinqing, Xinyi Liu, Yingxia Shao, Yang Dong, Ming Wang, Zhang Wei, Tianqi Wan, Ming Dong, and Hailin Yan. 2024. “ChatBI: Towards Natural Language to Complex Business Intelligence SQL .” CoRR abs/2405.00527.

Luo, Yuyu, Nan Tang, Guoliang Li, Chengliang Chai, Wenbo Li, and Xuedi Qin. 2021. “Synthesizing Natural Language to Visualization (NL2VIS) Benchmarks from NL2SQL Benchmarks.” In SIGMOD Conference , 1235–47. ACM .

Ma, Pingchuan, Rui Ding, Shuai Wang, Shi Han, and Dongmei Zhang. 2023. “InsightPilot: An LLM-Empowered Automated Data Exploration System.” In EMNLP (Demos) , 346–52. Association for Computational Linguistics.

Maddigan, Paula, and Teo Susnjak. 2023. “Chat2VIS: Generating Data Visualizations via Natural Language Using ChatGPT, Codex and GPT-3 Large Language Models.” IEEE Access 11: 45181–93.

Meduri, Venkata Vamsikrishna, Abdul Quamar, Chuan Lei, Vasilis Efthymiou, and Fatma Özcan. 2021. “ BI-REC: Guided Data Analysis for Conversational Business Intelligence.” CoRR abs/2105.00467.

Miao, Xupeng, Zhihao Jia, and Bin Cui. 2024. “Demystifying Data Management for Large Language Models.” In SIGMOD Conference Companion , 547–55. ACM .

Microsoft. 2024. “Power BI.” https://www.microsoft.com/en-us/power-platform/products/power-bi .

Mouravieff, Raphaël, Benjamin Piwowarski, and Sylvain Lamprier. 2024. “Learning Relational Decomposition of Queries for Question Answering from Tables.” In ACL , 10471–85. Association for Computational Linguistics.

OpenAI. 2023. “ GPT-4 Technical Report.” CoRR abs/2303.08774.

Pezoa, Felipe, Juan L. Reutter, Fernando Suárez, Martı́n Ugarte, and Domagoj Vrgoc. 2016. “Foundations of JSON Schema.” In WWW , 263–73. ACM .

Popovic, Aleksandar, Ivan Lukovic, Vladimir Dimitrieski, and Verislav Djukic. 2015. “A DSL for Modeling Application-Specific Functionalities of Business Applications.” Comput. Lang. Syst. Struct. 43: 69–95.

Pourreza, Mohammadreza, and Davood Rafiei. 2023. “ DIN-SQL: Decomposed in-Context Learning of Text-to-SQL with Self-Correction.” In NeurIPS .

Qian, Chen, Wei Liu, Hongzhang Liu, Nuo Chen, Yufan Dang, Jiahao Li, Cheng Yang, et al. 2024. “ChatDev: Communicative Agents for Software Development.” In ACL , 15174–86. Association for Computational Linguistics.

Quamar, Abdul, Fatma Özcan, Dorian Miller, Robert J. Moore, Rebecca Niehus, and Jeffrey T. Kreulen. 2020. “Conversational BI: An Ontology-Driven ConversationSystem for Business Intelligence Applications.” Proc. VLDB Endow. 13 (12): 3369–81.

Sahu, Gaurav, Abhay Puri, Juan A. Rodriguez, Alexandre Drouin, Perouz Taslakian, Valentina Zantedeschi, Alexandre Lacoste, et al. 2024. “InsightBench: Evaluating Business Analytics Agents Through Multi-Step Insight Generation.” CoRR abs/2407.06423.

Shi, Freda, Xinyun Chen, Kanishka Misra, Nathan Scales, David Dohan, Ed H. Chi, Nathanael Schärli, and Denny Zhou. 2023. “Large Language Models Can Be Easily Distracted by Irrelevant Context.” In ICML , 202:31210–27. Proceedings of Machine Learning Research. PMLR .

shroominic. “Open Source Implementation of the ChatGPT Code Interpreter.” https://github.com/shroominic/codeinterpreter-api .

StarRocks. 2024. “StarRocks: A High-Performance Analytical Database.” https://www.starrocks.io/ .

Steck, Harald, Chaitanya Ekanadham, and Nathan Kallus. 2024. “Is Cosine-Similarity of Embeddings Really about Similarity?” In WWW (Companion Volume) , 887–90. ACM .

Su, Aofeng, Aowen Wang, Chao Ye, Chen Zhou, Ga Zhang, Guangcheng Zhu, Haobo Wang, et al. 2024. “TableGPT2: A Large Multimodal Model with Tabular Data Integration.” CoRR abs/2411.02059.

Tableau. 2024. “Tableau Einstein.” https://www.tableau.com/ .

Tang, Mingjie, Saisai Shao, Weiqing Yang, Yanbo Liang, Yongyang Yu, Bikas Saha, and Dongjoon Hyun. 2019. “ SAC: A System for Big Data Lineage Tracking.” In ICDE , 1964–67. IEEE .

Team, Qwen. 2024. “Qwen2.5: A Party of Foundation Models.” https://qwenlm.github.io/blog/qwen2.5/ .

Tian, Katherine, Eric Mitchell, Allan Zhou, Archit Sharma, Rafael Rafailov, Huaxiu Yao, Chelsea Finn, and Christopher D. Manning. 2023. “Just Ask for Calibration: Strategies for Eliciting Calibrated Confidence Scores from Language Models Fine-Tuned with Human Feedback.” In EMNLP , 5433–42. Association for Computational Linguistics.

Tory, Melanie, and Vidya Setlur. 2019. “Do What I Mean, Not What I Say! Design Considerations for Supporting Intent and Context in Analytical Conversation.” In VAST , 93–103. IEEE .

Wang, Bailin, Zi Wang, Xuezhi Wang, Yuan Cao, Rif A. Saurous, and Yoon Kim. 2023. “Grammar Prompting for Domain-Specific Language Generation with Large Language Models.” In NeurIPS .

Wang, Lei, Chen Ma, Xueyang Feng, Zeyang Zhang, Hao Yang, Jingsen Zhang, Zhiyuan Chen, et al. 2024. “A Survey on Large Language Model Based Autonomous Agents.” Frontiers Comput. Sci. 18 (6): 186345.

Wei, Jason, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed H. Chi, Quoc V. Le, and Denny Zhou. 2022. “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.” In NeurIPS .

Weng, Luoxuan, Xingbo Wang, Junyu Lu, Yingchaojie Feng, Yihan Liu, and Wei Chen. 2024. “InsightLens: Discovering and Exploring Insights from Conversational Contexts in Large-Language-Model-Powered Data Analysis.” CoRR abs/2404.01644.

Whang, Steven Euijong, Yuji Roh, Hwanjun Song, and Jae-Gil Lee. 2023. “Data Collection and Quality Challenges in Deep Learning: A Data-Centric AI Perspective.” VLDB J. 32 (4): 791–813.

Wu, Qingyun, Gagan Bansal, Jieyu Zhang, Yiran Wu, Shaokun Zhang, Erkang Zhu, Beibin Li, Li Jiang, Xiaoyun Zhang, and Chi Wang. 2023. “AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation Framework.” CoRR abs/2308.08155.

Wu, Yang, Yao Wan, Hongyu Zhang, Yulei Sui, Wucai Wei, Wei Zhao, Guandong Xu, and Hai Jin. 2024. “Automated Data Visualization from Natural Language via Large Language Models: An Exploratory Study.” Proc. ACM Manag. Data 2 (3): 115.

Xi, Zhiheng, Senjie Jin, Yuhao Zhou, Rui Zheng, Songyang Gao, Jia Liu, Tao Gui, Qi Zhang, and Xuanjing Huang. 2023. “Self-Polish: Enhance Reasoning in Large Language Models via Problem Refinement.” In EMNLP (Findings) , 11383–406. Association for Computational Linguistics.

Xie, Tianbao, Fan Zhou, Zhoujun Cheng, Peng Shi, Luoxuan Weng, Yitao Liu, Toh Jing Hua, et al. 2024. “OpenAgents: An Open Platform for Language Agents in the Wild.” In COLM .

Yang, Zhengyuan, Linjie Li, Kevin Lin, Jianfeng Wang, Chung-Ching Lin, Zicheng Liu, and Lijuan Wang. 2023. “The Dawn of LMMs: Preliminary Explorations with GPT-4V(ision).” CoRR abs/2309.17421.

Yu, Tao, Rui Zhang, Kai Yang, Michihiro Yasunaga, Dongxu Wang, Zifan Li, James Ma, et al. 2018. “Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQL Task.” In EMNLP , 3911–21. Association for Computational Linguistics.

Yu, Yue, Leixian Shen, Fei Long, Huamin Qu, and Hao Chen. 2024. “PyGWalker: On-the-Fly Assistant for Exploratory Visual Data Analysis.” CoRR abs/2406.11637.

Zhang, Jingyi, Jiaxing Huang, Sheng Jin, and Shijian Lu. 2024. “Vision-Language Models for Vision Tasks: A Survey.” IEEE Trans. Pattern Anal. Mach. Intell. 46 (8): 5625–44.

Zhang, Lei, Yuge Zhang, Kan Ren, Dongsheng Li, and Yuqing Yang. 2024. “MLCopilot: Unleashing the Power of Large Language Models in Solving Machine Learning Tasks.” In EACL , 2931–59. Association for Computational Linguistics.

Zhang, Yuge, Qiyang Jiang, XingyuHan XingyuHan, Nan Chen, Yuqing Yang, and Kan Ren. 2024. “Benchmarking Data Science Agents.” In ACL , 5677–5700. Association for Computational Linguistics.

Zhang, Zeyu, Paul Groth, Iacer Calixto, and Sebastian Schelter. 2024. “Directions Towards Efficient and Automated Data Wrangling with Large Language Models.” In ICDEW , 301–4. IEEE .

Zhao, Xinyang, Xuanhe Zhou, and Guoliang Li. 2024. “Chat2Data: An Interactive Data Analysis System with RAG, Vector Databases and LLMs.” Proc. VLDB Endow. 17 (12): 4481–84.

Zhou, Xuanhe, Xinyang Zhao, and Guoliang Li. 2024. “LLM-Enhanced Data Management.” CoRR abs/2402.02643.

Zhu, Jun-Peng, Peng Cai, Boyan Niu, Zheming Ni, Kai Xu, Jiajun Huang, Jianwei Wan, et al. 2024. “Chat2Query: A Zero-Shot Automatic Exploratory Data Analysis System with Large Language Models.” In ICDE , 5429–32. IEEE .

  1. * 在腾讯TEG大数据平台实习期间完成的工作。 ↩︎
  2. 由于实现问题,我们仅评估了DSEval-LeetCode和-SO。 ↩︎
  3. 由于两个基线缺乏对涉及多个数据表的自然语言查询的支持,我们仅在单表查询上进行评估以确保公平比较。 ↩︎

原论文:https://arxiv.org/pdf/2412.0220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Paper易论

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值