AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


ChatBI:基于LLM+ERNIE的自然语言到复杂商业智能SQL
发布日期:2024-05-02 19:58:05 浏览次数: 2196


自然语言到SQL(NL2SQL)技术允许不熟悉数据库的非专家用户使用SQL进行数据分析。NL2BI是NL2SQL在实际生产系统中的一个流行实际场景,它引入了更多的挑战,如多轮对话(MRD)和大型语言模型(LLMs)在架构链接中的Token限制
NL2SQL和NL2BI问题之间的区别。问题包含多轮对话,查询1:“过去七天的短视频播放量”,查询2:“周环比情况如何?”,查询3:“播放时长如何?”。NL2BI问题需要处理复杂语义、比较和计算关系的能力,以及多轮对话。两个问题的数据源也不同。

北邮联合百度联合提出了ChatBI,这是一种全面高效的技术,用于解决NL2BI任务。ChatBI通过分析交互模式,设计了更小、更经济的模型来匹配这种交互模式。它利用数据库社区中现有的视图技术,将架构链接问题分解为单视图选择问题,并使用较小的机器学习模型来选择列数显著减少的单个视图。
ChatBI总体架构

  • 多轮对话匹配(Multi-Round Dialogues Matching):ChatBI处理MRD场景,使用两个较小的Bert类模型进行文本分类和文本预测。

  • 单视图选择:ChatBI将架构链接问题转化为单视图选择问题,使用视图技术来解决列的歧义和数量问题。

  • 分阶段处理流程:ChatBI提出了一种不同于现有流程的处理流程,它首先生成包含复杂语义和比较关系的JSON中间结果,然后使用基于规则的SQL生成方法来产生目标SQL。
  1. 分阶段处理流程:ChatBI采用了一个创新的分阶段处理流程,该流程首先使用大型语言模型(LLMs)生成JSON格式的中间输出,然后将这些输出传递给BI中间件(如Apache SuperSet),以展示结果。这种方法与传统的直接依赖LLMs生成SQL的方法不同,它仅依赖于生成JSON。

  2. 复杂性解耦:通过将问题分解,ChatBI避免了LLMs直接处理SQL中的复杂语义、计算和比较关系。相反,LLMs只需要理解如何将这些复杂关系映射到JSON所需的输出。这种解耦方法简化了任务,提高了LLMs生成JSON的准确性。

  3. 虚拟列(Virtual Columns):ChatBI引入了虚拟列的概念,以处理那些需要从其他列计算得出的列,如“DAU”。虚拟列通过其对应的键(列名)来访问计算规则,这些规则存储在JSON中,称为JnM(Json nested Map)。这种方法允许LLMs生成包含复杂计算步骤的查询,同时提高了查询生成的效率。

  4. 模板和规则:在新的处理流程中,Apache SuperSet使用通用模板来生成SQL。LLMs生成的JSON输出充当填写这些模板的占位符,最终输出SQL。这种方法利用了数据库社区对基于维度和列生成SQL的广泛研究。

ChatBI在百度的数据平台上进行了部署,并集成到多条产品线中进行了大规模生产任务评估。结果显示ChatBI在实用性、通用性和效率方面的优势,并在实际BI场景数据表和查询下取得了最佳结果

SRD数据集和MRD数据集介绍。主版本和轻量版本对应不同的应用程序。DAU代表日活跃用户,新用户指首次注册的用户。

Towards Natural Language to Complex Business Intelligence SQLhttps://arxiv.org/pdf/2405.00527

大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。





53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询