多轮对话匹配(Multi-Round Dialogues Matching):ChatBI处理MRD场景,使用两个较小的Bert类模型进行文本分类和文本预测。
单视图选择:ChatBI将架构链接问题转化为单视图选择问题,使用视图技术来解决列的歧义和数量问题。
分阶段处理流程:ChatBI提出了一种不同于现有流程的处理流程,它首先生成包含复杂语义和比较关系的JSON中间结果,然后使用基于规则的SQL生成方法来产生目标SQL。
分阶段处理流程:ChatBI采用了一个创新的分阶段处理流程,该流程首先使用大型语言模型(LLMs)生成JSON格式的中间输出,然后将这些输出传递给BI中间件(如Apache SuperSet),以展示结果。这种方法与传统的直接依赖LLMs生成SQL的方法不同,它仅依赖于生成JSON。
复杂性解耦:通过将问题分解,ChatBI避免了LLMs直接处理SQL中的复杂语义、计算和比较关系。相反,LLMs只需要理解如何将这些复杂关系映射到JSON所需的输出。这种解耦方法简化了任务,提高了LLMs生成JSON的准确性。
虚拟列(Virtual Columns):ChatBI引入了虚拟列的概念,以处理那些需要从其他列计算得出的列,如“DAU”。虚拟列通过其对应的键(列名)来访问计算规则,这些规则存储在JSON中,称为JnM(Json nested Map)。这种方法允许LLMs生成包含复杂计算步骤的查询,同时提高了查询生成的效率。
模板和规则:在新的处理流程中,Apache SuperSet使用通用模板来生成SQL。LLMs生成的JSON输出充当填写这些模板的占位符,最终输出SQL。这种方法利用了数据库社区对基于维度和列生成SQL的广泛研究。
SRD数据集和MRD数据集介绍。主版本和轻量版本对应不同的应用程序。DAU代表日活跃用户,新用户指首次注册的用户。
Towards Natural Language to Complex Business Intelligence SQLhttps://arxiv.org/pdf/2405.00527
大模型(LLM)文章来锻炼我们的思维,简单的例子,不简单的方法,提升自己。
