链载Ai

标题: ChatBI:基于LLM ERNIE的自然语言到复杂商业智能SQL [打印本页]

作者: 链载Ai    时间: 昨天 09:40
标题: ChatBI:基于LLM ERNIE的自然语言到复杂商业智能SQL

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

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

    ingFang SC", miui, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;font-size: 14px;letter-spacing: 0.5px;text-align: start;text-wrap: wrap;background-color: rgb(49, 49, 58);" class="list-paddingleft-1">
  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代表日活跃用户,新用户指首次注册的用户。

TowardsNaturalLanguagetoComplexBusinessIntelligenceSQLhttps://arxiv.org/pdf/2405.00527

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









欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5