前言
前两天Microsoft Excel支持了Python,一时间引起了广泛讨论。大家都认为又是一个王炸级的更新。但静下心来仔细想一想,其实Excel支持Python对深度使用Excel的用户,或者说对于普通打工人来讲,并不是什么有用的更新。甚至可以说,是提高了Excel使用的门槛。
因此我们在DB-GPT(已开源,开源地址: github.com/eosphoros-a…)项目中, 充分利用了Excel支持Python的特性,可以通过自然语言对话的能力来使用Excel。我们希望可以通过大语言模型的能力,不断降低数据库、图表、知识、获取与分析的门槛。让70亿人都能够享受数据的价值。 让数据工具、产品的使用,不再是困扰我们的门槛。 因此DB-GPT中ChatExcel的能力来了,接下来让我们简单解读一下整个实现原理以及用户使用手册。
ChatExcel原理简介
如图所示,为ChatExcel的简要原理图,在整个过程中。我们充分利用了Excel Python支持。DB- GPT Text2SQL,大模型自然语言对话理解等多种能力。 下面我们对流程做一个简单的介绍。
- 首先我们需要将Excel作为一个数据源上传到DB-GPT当中。
- DB-GPT通过Excel Python支持特性将Excel表格数据转换为数据库表格,可以利用DB-GPT中的通用能力。
- 用户发起对话,通过对话进行Excel数据分析。
- 根据DB-GPT中ChatExcel场景逻辑,调用大模型生成对应的Text2SQL语句。
- 利用执行插件能力,执行具体结果。
- 收集数据绘制图表。
- 返回最终结果。
效果演示
为了演示具体的功能,我们准备了一份装修清单的Excel数据,接下来我们通过这份Excel数据,进行具体的效果演示。
添加图片注释,不超过 140 字(可选)
首先我们根据前面的原理介绍,上传Excel文档。文档上传成功之后,DB-GPT会根据文档内容,对文档进行总结说明,并推荐一些常见的分析手段。 如下图所示。
接下来,我们即可根据自然语言进行Excel数据的分析处理。
Q: 查看一下基础装修实际支出的金额占比。
我们在根据其推荐的方法,进行分析。
Q: 按照大项进行费用预算和实际花费的对比分析,以柱状图展示
Q: 汇总总支出金额
小结
通过自然语言实现Excel数据分析,可以极大降低Excel使用的门槛。让更多的用户使用到Excel的能力。 让日常的数据处理、分析更为便捷。 在本项目中,我们通过Excel Python支持,Text2SQL,大语言模型自然语言处理,Multi-Agents等多种技术组合。实现了丝滑的ChatExcel的能力。之所以用Text2SQL,一方面是因为DB-GPT本身在此方面有绝对的优势,同时我们判断通过结构化语言处理表格数据,比OpenAI官方的Code-Interpreter具备更高的准确率与稳定性。如果你对我们的工作感兴趣,可以在开源社区关注我们项目。当然了,别忘了点了Star✨