在当今AI驱动的时代,数据分析已成为各行各业不可或缺的能力。然而,传统的数据分析流程通常需要掌握SQL、数据处理和可视化等多项专业技能,这对非技术背景的业务人员来说是一个不小的挑战。
想象一下,当数据中心的负责人打开手机时,只需通过自然语言描述:“帮我分析过去24小时,各业务系统的告警量TOP-10,并以饼状图展示。” 系统便能自动完成从自然语言到SQL查询、数据处理和可视化的全过程。这将极大地提高效率,省去需求提取、原型设计、开发、测试和上线的漫长过程,人类将进入一个更加高效和智能的时代。
本文主要介绍如下两个大的部分:
1. 测试案例效果预览及大模型使用说明
先睹为快,系统的实现效果,以及实现这样的基本系统测试环境配置,包括测试所使用和推荐的大模型。
2. 构建NL2SQL系统的核心步骤
-
理解数据库模式:大模型需要能够理解数据库的结构和模式,以便准确地翻译自然语言查询。
-
提示词设计:为大模型提供合适的提示词,使其能够将人类的自然语言查询准确地翻译为SQL语句。
-
大模型依据查询生成SQL:依据用户的指令、数据库说明和提示词,大模型生成SQL语句。
-
查询及可视化引擎:需要一个查询引擎接口来接收并执行翻译好的SQL语句,并将结果进行可视化展示。
-
依据日志优化:日志记录在系统优化中扮演着至关重要的角色,特别是在大模型结果的优化方面。
通过这些步骤,NL2SQL系统能够实现从自然语言到数据可视化的自动化流程,显著提升数据分析的便捷性和效率。
文本中的内容也是按如上的步骤来进行分章节介绍的,在介绍之前增加了一节”效果预览“,以方便提前对可达到的效果进行了解。
测试案例效果预览及大模型使用说明
大模型使用说明
在本例中,我们测试了以下大模型:
-
QWEN 2.5 - 72B
-
LLAMA 3 - 70B
-
QWEN 2.5 - 32B
-
Gemma2 27B
-
LLAMA 3.2 - 11B
在这些模型中,参数量在70B以上的模型表现出色,能够准确无误地生成SQL语句。而其他三个模型在语言表达上需要更精确一些。在测试案例中,它们各自仅出现一个错误,说明指令需要更贴近数据库模式(schema)的定义。
主机配置
为了支持这些大模型的运行,我们使用了以下硬件配置:
-
显卡:技嘉 4090
-
CPU:Intel i7 - 14代
-
内存:DDR 6000 64GB
测试案例效果预览
在看解决方案之前,先看一下自然语言生成SQL的效果截屏: