AI大模型驱动数据分析:利用自然语言实现数据查询与可视化(1)

在当今AI驱动的时代,数据分析已成为各行各业不可或缺的能力。然而,传统的数据分析流程通常需要掌握SQL、数据处理和可视化等多项专业技能,这对非技术背景的业务人员来说是一个不小的挑战。

想象一下,当数据中心的负责人打开手机时,只需通过自然语言描述:“帮我分析过去24小时,各业务系统的告警量TOP-10,并以饼状图展示” 。系统便能自动完成从自然语言到SQL查询、数据处理和可视化的全过程。这省去需求提取、原型设计、开发、测试和上线的漫长过程,极大地提高了效率。从这个角度看,人类将进入一个更加高效和智能的时代。

所以,这次主要想跟大家分享如何运用AI大模型进行数据分析,过程中也会带一些示例,方便大家理解。话不多说,主要内容如下:

看看大语言模型的使用手册,会带相关测试案例让大家更好理解。主要内容如下:

哪些大模型可准确无误地生成SQL语句?

大模型实现的数据分析效果预览

AI应用场景测试 | 理解数据库模式 - schema信息

AI应用场景测试 | 提示词设计

一、哪些大模型可准确无误地生成SQL语句?

为了知道目前有哪些大模型可以快且准生成SQL语句,我们测试了以下大模型:

  • QWEN 2.5 - 72B

  • LLAMA 3 - 70B

  • QWEN 2.5 - 32B

  • Gemma2 27B

  • LLAMA 3.2 - 11B

为了支持这些大模型的运行,我的硬件配置如下:

  • 显卡:技嘉 4090

  • CPU:Intel i7 - 14代

  • 内存:DDR 6000 64GB

最终结果显示,参数量在70B以上的模型表现出色,能够准确无误地生成SQL语句。而其他三个模型在语言表达上需要更精确一些。在测试案例中,每一个大模型仅出现一个错误,说明输入的指令需要更贴近数据库模式(schema)的定义。

二、运用大模型实现数据分析效果预览

在看解决方案之前,我们先看一下自然语言大模型生成SQL的效果

上图为使用AI大模型生成的【按照不同的告警来源展示告警数量top10(饼状图)】

上图为使用AI大模型生成的【按照不同的告警来源展示告警数量top10(条形图)】

上图为使用AI大模型生成的【展示业务系统为企业服务总线的告警数量(表格)】

上图为使用AI大模型生成的【展示业务系统为“企业服务总线”的告警数量,告警发生日期为“2020-09-16”(表格)】

上图为使用AI大模型生成的【按天统计业务系统为“企业服务总线"的告警量】

上图为使用AI大模型生成的【按月统计系统为“上海网络”的告警量】

上图为使用AI大模型生成的【展示数据库中有多少不同的alertKPl】

上图为使用AI大模型生成的【展示数据库中独立的alertKPl】

上图为使用AI大模型生成的【展示数据库中指标为app_comp.ap-sys_succ_rate的告警,并按业务系统告警量top_10展示(表格)】

上图为使用AI大模型生成的【展示数据库中指标为app_comp.ap-sys_succ_rate的告警,并按业务系统告警量top_10展示(饼状图)】

三、AI应用场景测试 | 理解数据库模式 - schema信息

我们需要有一个界面能够配置数据库中的schema描述,schema描述对大模型非常有意义,主要体现在以下几个方面:

①结构理解

Schema描述了数据库的结构,包括表的名称、字段名称、数据类型、表之间的关系等。这些信息对于理解用户的自然语言查询至关重要,因为它帮助系统知道数据是如何组织的。

② 意图解析

在将自然语言转换为SQL查询时,系统需要识别用户查询中涉及的具体数据实体。Schema提供了这些实体的定义,使得系统可以准确地将自然语言中的术语映射到数据库中的表和字段。

③查询生成

Schema信息用于生成正确的SQL查询。系统需要知道如何在SQL中引用表和字段,以及如何构建JOIN操作来结合多个表的数据。

④错误检测

通过了解schema,系统可以检测并避免生成无效的SQL查询。例如,如果用户请求的字段在schema中不存在,系统会及时反馈错误信息。

⑤优化查询

Schema信息可以帮助系统优化生成的SQL查询。例如,系统可以利用索引信息来生成更高效的查询。

⑥用户交互

在一些高级的NL2SQL系统中,schema信息可以用于生成用户提示或建议,帮助用户更好地构建查询。

总结 :数据库的schema描述是NL2SQL系统理解和处理自然语言查询的基础,确保生成的SQL查询准确、有效并符合数据库的结构。

理解schema信息示例如下:

本例中我们使用运维领域的一张alertInfo表,来做示例说明如下,这是整个nl2sql的核心,如果涉及多张表以及表和表之间的关系,也参照类似的定义来表达即可:

四、 AI应用场景测试 | 提示词设计

在NL2SQL中,提示词的设计非常重要,通过它可以:

①引导模型生成

提示词用于引导大语言模型(如GPT-4)生成SQL查询。通过精心设计的提示词,模型可以更准确地理解用户的意图,并生成符合语法和语义的SQL语句。

②提高准确性

提示词可以帮助模型更好地解析自然语言中的复杂结构和模糊表达,从而提高生成SQL的准确性。例如,提示词可以明确要求模型识别特定的表、字段或条件。

③ 减少歧义

自然语言往往具有多义性,提示词可以帮助消除歧义,使模型更清晰地理解用户的查询意图。例如,通过提示词明确上下文或限定查询范围。

④增强模型能力

通过提示词,模型可以被引导去利用其内置的知识和推理能力,生成更复杂和优化的SQL查询。这对于处理复杂查询或多表JOIN操作尤为重要。

总结:提示词设计在NL2SQL系统中起到关键作用,它不仅影响SQL生成的准确性和效率,还直接关系到用户的使用体验和系统的实用性。

1.提示词设计参考如下

下面是我这里内置的默认提示词,主要用于关系型数据库查询,大家可以参考参考

 

2.提示词使用注意事项

  • "{schema_content}"即为我们在第一章中定义的schema说明,这是做为做的知识背景说明提供给大模型理解用的。

  • 示例提示词第10点,是最重要的一点,一般在设计这样的系统时,要避免对数据源进行修改,以免对数据造成破坏。

由于篇幅有限,本期的分享暂告一段落,下期将重点跟大家一起来看看【如何运用大模型进行数据可视化展示】以及【如何利用日志进行系统优化】这两块内容,感兴趣的朋友可以提前Mark一下~

注:文章来源见图片水印(布博士--擎创科技产品解决方案专家)

擎创科技,Gartner连续推荐的AIOps领域标杆供应商。公司专注于通过提升企业客户对运维数据的洞见能力,为运维降本增效,充分体现科技运维对业务运营的影响力。

  行业龙头客户的共同选择

了解更多运维干货与行业前沿动态

可以右上角一键关注

我们是深耕智能运维领域近十年的

连续多年获Gartner推荐的AIOps标杆供应商

下期我们不见不散~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/486769.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyCharm+Selenium+Pytest配置小记

1、下载ChromeDriver: Chrome130以后的Driver下载: Chrome for Testing availabilityhttps://googlechromelabs.github.io/chrome-for-testing/ (1)查看自己Crome浏览器的版本:设置-->关于 Chrome; &…

【原生js案例】webApp实现鼠标移入移出相册放大缩小动画

图片相册这种动画效果也很常见,在我们的网站上。鼠标滑入放大图片,滑出就恢复原来的大小。现在我们使用运动定时器来实现这种滑动效果。 感兴趣的可以关注下我的系列课程【webApp之h5端实战】,里面有大量的css3动画效果制作原生知识分析&…

Qt 安装Qt Serial Port

最近要用Qt写个串口上位机软件,发现Qt的串口库用不了,上网找了一下资料,找到一种解决办法,具体操作如下: 参考文章:https 目录 一、找到QT安装路径,并运行Qt Maintenance Tool二、选择 添加或移…

语音识别flask接口开发

要开发一个flask语音识别接口,首先要解决语音文件在网络中的传输问题,然后选识别算法进行识别 文章目录 1、以二进制文件流方式上次语音2、网页端长连接流式上传语音文件3、语音识别接口 1、以二进制文件流方式上次语音 python服务端代码,以…

计算机毕业设计Python医疗问答系统 医疗可视化 BERT+LSTM+CRF深度学习识别模型 机器学习 深度学习 爬虫 知识图谱 人工智能 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

shell条件测试

一.命令执行结果判定 && 在命令执行后如果没有任何报错时会执行符号后面的动作 || 在命令执行后如果命令有报错会执行符号后的动作 示例: [rootqingdeng shell3]# sh sl.sh /mnt/file is not exist no二.条件判断方法 在 shell 程序中,用户可…

Couchbase Lite for Android 开源项目 FAQ

Couchbase Lite for Android 开源项目 FAQ couchbase-lite-android couchbase/couchbase-lite-android: Couchbase Lite for Android 是一个轻量级的嵌入式NoSQL数据库引擎,可以在Android设备上离线存储和处理数据,并支持与Couchbase Server进行同步&…

DVWA 靶场 SQL 注入报错 Illegal mix of collations for operation ‘UNION‘ 的解决方案

在 dvwa 靶场进行联合 SQL 注入时,遇到报错 Illegal mix of collations for operation UNION报错如下图: 解决办法: 找到文件MySQL.php 大致位置在dvwaincludesDBMS 目录下 使用编辑器打开 检索$create_db 第一个就是 在{$_DVWA[ ‘db_d…

使用伪装IP地址和MAC地址进行Nmap扫描

使用伪装IP地址和MAC地址进行Nmap扫描 在某些网络设置中,攻击者可以使用伪装的IP地址甚至伪装的MAC地址进行系统扫描。这种扫描方式只有在可以保证捕获响应的情况下才有意义。如果从某个随机的网络尝试使用伪装的IP地址进行扫描,很可能无法接收到任何响…

PT8M2102 触控型 8Bit MCU

1 产品概述 ● PT8M2102 是一款基于 RISC 内核的8位 MTP 单片机,内部集成了电容式触摸感应模块、TIMER,PWM、LVR、LVD、WDT等外设,其主要用作触摸按键开关,广泛适用于触控调光、电子玩具、消费电子、家用电器等领域,具…

ARM A32多数据处理汇编指令理解分享

ARM A32多数据处理汇编指令理解分享 1 多数据存储指令1.1 push指令1.2 STMFD/STMDB指令1.3 STMED/STMDA指令1.4 STMFA/STMIB指令1.5 STMEA/STMIA指令 2 多数据加载指令2.1 pop指令2.2 LDMFD/LDMIA指令2.3 LDMFA/LDMDA指令2.4 LDMEA/LDMDB指令2.5 LDMED/LDMIB指令 在ARM A32多数…

Docker 安装 中文版 GitLab

Docker 安装系列 安装GitLab、解决服务器内存不足问题、使用域名/IP地址访问项目 1、拉取 [rootTseng ~]# docker pull twang2218/gitlab-ce-zh:latest latest: Pulling from twang2218/gitlab-ce-zh 8ee29e426c26: Pull complete 6e83b260b73b: Pull complete e26b65fd11…

二分查找(带图详解)

优选算法系列 文章目录 优选算法系列前言一、二分查找的思想二、算法使用小总结 三、代码实现四、二分查找拓展4.1、查找第一次出现的target小总结 4.2、target最后出现的位置小总结 五、代码总结 前言 在这篇博客中,我会给大家分享二分查找及其扩展。 这是链接-&…

arguments和纯函数的介绍

认识arguments arguments 是一个 对应于 传递给函数的参数 的类数组(array-like)对象. array-like意味着它不是一个数组类型,而是一个对象类型: □但是它却拥有数组的一些特性,比如说length,比如可以通过index索引来访问;□但是它却没有数组的一些方法,比如forEach、map等; …

煤矿 35kV 变电站 3 套巡检机器人 “上岗”,力破供电瓶颈

近日,杭州旗晟智能科技与甘肃某变电站配电室的三套智能巡检机器人线下测试顺利完成,并成功交付使用,这为电力运维工作注入了全新的活力与强大的技术支撑。 一、项目背景 甘肃某变电站总建筑面积1098平方米的变电站集变电、配电、监控等多功能…

隐式神经网络实现低光照图像增强

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

【人工智能基础06】人工神经网络(练习题):神经网络的计算、激活函数的选择与神经网络的退化

文章目录 1. 基于神经网络计算心理健康程度2. 添加激活函数的神经网络计算3. 使用神经网络预测小胖是否会变胖4. 激活函数选择的讨论5. 神经网络的设计6. 深度线性模型的表达能力线性模型7. 神经网络退化 主要讨论的内容 什么是人工神经网络,相关计算反向传播算法的…

记录Windows中Mysql安装

www.mysql.com 我用的是mysql-installer-community-8.0.25.0.msi 原先安装过,先听了了mysql服务 ctrlshiftesc 先停了服务 控制面板关于mysql的全卸载 不修改的话,默认 如果不修改 自己电脑C盘不想放太多 这里Config Type有三个选项 第一个是测试开发模式 占用内存…

【Java计算机毕业设计】Springboot+vue校园外卖配送服务管理系统【源代码+数据库+LW文档+开题报告+答辩稿+部署教程+代码讲解】

源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

彻底理解ThreadLocal的应用场景和底层实现

一.概念 定义: ThreadLocal 是 Java 中所提供的线程本地存储机制,可以利用该机制将数据缓存在某个线程内部,该线程可以在任意时刻、任意方法中获取缓存的数据。 其实是可以通过调用 Set() 方法往里面存入值,存入的值是每个线程互…