LLM 构建Data Multi-Agents 赋能数据分析平台的实践之③:数据分析之一(智能报表)

概述

在企业数字化转型的过程中,ERP系统与数据平台作为核心支撑工具,对于提升运营效率、优化决策支持、实现业务流程一体化起着至关重要的作用。然而,智能报表与报表的智能化合并作为其中的重要领域,却往往面临诸多挑战与难点,这不仅关乎企业能否充分利用数据资产,更直接影响到数字化转型的深度与成效。
智能报表是现代企业数据分析与决策支持的关键组成部分,它以ERP系统和数据平台为基础,通过自动化、智能化手段对海量业务数据进行抽取、清洗、整合与可视化呈现,旨在为各级管理人员提供实时、精准、易于理解的业务洞察。
尽管智能报表与报表智能化合并的价值显而易见,但在实际实施过程中,企业往往会遭遇以下几方面的难点:
1、数据质量与一致性:原始数据可能存在缺失、错误、不一致等问题,需要建立严格的数据治理机制,确保报表数据的准确性和可靠性。
2、系统集成与接口开发:对接不同系统、数据源需要复杂的接口开发与数据映射工作,技术难度大,且易受系统升级、变更的影响。
3、用户需求多样性:不同角色的用户对报表格式、指标、时效性等方面的需求差异大,定制化需求可能导致报表开发与维护成本上升。
4、技术选型与平台兼容性:选择合适的报表工具和技术栈,既要满足现有系统的兼容性,又要具备足够的灵活性和扩展性以适应未来需求变化。
5、安全与权限管理:确保敏感数据在合并、传输、存储过程中的安全性,同时精细控制用户对报表的访问权限,防止数据泄露与滥用。

传统数据平台的报表合并的流程是:业务侧提供报表需求——>报表开发人员整理数据报表——>寻找相关字段——>SQL语句或者python code——>计算及报表合并——>反馈。
本次实践将尝试使用大模型构建智能报表系统,通过将数据库表信息归集之后输入大模型,利用大模型的代码生成能力完成报表的合并。
在这里插入图片描述

一、数据分析Agents构建

  • python code Agent构建

数据读取:使用pandas导入数据文件

filepath = '/content/drive/MyDrive/LLM_Agents/data'
import pandas as pd
df_sows_price = pd.read_csv(filepath+'/Minimum price per week for weeded sows.csv')
df_piglet_price = pd.read_csv(filepath+'/Piglet weekly out price.csv')
df_pig_price = pd.read_csv(filepath+'/Weekly price of commercial pigs.csv')

工具搭建:搭建一个pythonarst 工具

repl = PythonAstREPLTool(locals={"df_sows_price": df_sows_price,'df_piglet_price':df_piglet_price,'df_pig_price':df_pig_price},name="python_repl_dt",description="The tool is used to generate Python code analysis based on the dataset,the dataset has two data: df_market and df_price ,runs the code and outputs both the code and the results of the computation.",#args_schema=PythonInputs,)
tools_dt = [repl]

提示词设计:提示词包含任务的基本描述、可使用工具信息、数据文件的基础信息及前五行数据

TEMPLATE_dt = """You are working with a pandas dataframe in Python.
The user's dataset pertains to information on the swine breeding market across various provinces and cities,
encompassing weekly prices of sows(named:df_sows_price), weekly prices of piglets (named:df_piglet_price), and weekly prices of market pigs(named:df_pig_price).It is important to understand the attributes of the dataframe before working with it. This is the result of running `df.head().to_markdown()`<df_piglet_price>
{df_piglet_pricehead}
</df_piglet_price><df_swos_price>
{df_sows_pricehead}
</df_sows_price><df_pig_price>
{df_pig_pricehead}
</df_pig_price>You are not meant to use only these rows to answer questions - they are meant as a way of telling you about the shape and schema of the dataframe.
You also do not have use only the information here to answer questions - you can run intermediate queries to do exporatory data analysis to give you more information as needed.You possess  essential tools:  `python_repl_dt`: With this tool, you can analyze and process the data retrieved from df using Python code.When facing a question, assess whether you need to employ these tools iteratively."""
template_dt = TEMPLATE_dt.format(df_piglet_pricehead=df_piglet_price.head().to_markdown(),df_sows_pricehead=df_sows_price.head().to_markdown(),df_pig_pricehead=df_pig_price.head().to_markdown())

Agent搭建:使用ZeroShotAgent将提示词、工具、大模型llm组合起来形成一个数据分析智能体

agent_dt = ZeroShotAgent.from_llm_and_tools(llm=llm,tools=tools_dt,prefix=template_dt,)
agent_dt = AgentExecutor(agent=agent_dt, tools=tools_dt, max_iterations=150, handle_parsing_errors=True,early_stopping_method="generate",verbose=True)

二、实践及结果讨论

本次实践共使用三个数据文件:各省市的母猪出栏周度价格、仔猪出栏周度价格、商品猪出栏周度价格。
①、从多个表中抽取数据形成一个新的报表,不带计算
从母猪出栏周度价格、仔猪出栏周度价格、商品猪出栏周度价格三个独立的报表中抽取出安徽省的数据。

query = """Consolidate into a single dataset containing the weekly prices of market hogs, weekly prices of sows, and weekly prices of piglets for the province of Anhui, and saved as a CSV file named AnHui_pig_market.csv."""
agent_dt.invoke({'input':query})

在这里插入图片描述

②、从单个表中抽取数据并做一定的计算形成一个新的报表
从商品猪出栏价格数据中抽取出广东省、安徽省、湖南省、四川省、山东省的数据,并使用帕勒托指数计算方法计算商品猪出栏价格指数,基准期设定为2019年1月4日,各省市的权重分别为:0.2, 0.3, 0.1, 0.2, 0.2.

query = """
Now, we need to calculate a pig price index based on the market price of commercial pigs.
First, remove any anomalous data from the commercial pigs dataset.
The data scope includes the market prices of commercial pigs from five provinces: Guangdong, Anhui, Hunan, Sichuan, and Shandong.
The Paasche index method will be employed for the compilation work, with the base period fixed at January 4, 2019, specifically referencing the provincial live pig market prices on that date,Index data is expressed on a percentage basis.
The weights for the above five provinces are 0.2, 0.3, 0.1, 0.2, and 0.2, respectively.
The calculation results will be saved as a CSV file.
"""
agent_dt.invoke({'input':query})

在这里插入图片描述
③ 生成一段报表合并的python code

query = 'Given the dataset situation, provide a code snippet to accomplish the following tasks: retrieve the market pig slaughter price data for Anhui Province and Guangdong Province, and compute their difference.'
agent_dt.invoke({'input':query})

在这里插入图片描述

三、讨论

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Etsy多账号关联怎么办?Etsy店铺防关联解决方法

Etsy虽然相对于其他跨境电商平台来说比较小众&#xff0c;但因为平台是以卖手工艺品为主的&#xff0c;所以成本较低&#xff0c;利润很高。许多跨境卖家都纷纷入驻&#xff0c;导致平台规则越发严格&#xff0c;操作不当就会封号&#xff0c;比如一个卖家操作多个账号会出现关…

[激光原理与应用-90]:光功率计基本原理

目录 一、光功率计原理 二、光功率计硬件电路 三、光功率计探头 四、接口信号 一、光功率计原理 光功率计是用来测量光功率的仪器&#xff0c;其原理基于光电效应和电信号的检测与处理。 下面是光功率计的基本原理&#xff1a; 光电效应&#xff1a; 光功率计使用光敏元件…

家用洗地机哪款好用?盘点618值得买的洗地机品牌

对于工作忙碌或家里养了宠物的很多朋友来说&#xff0c;洗地机它集合吸尘清扫湿拖的功能&#xff0c;很大程度上解放了家庭清洁劳动的繁琐&#xff0c;让人们腾出更多的时间休息&#xff0c;那么&#xff0c;市场上有很多牌子的洗地机&#xff0c;价格也各不相同&#xff0c;那…

3.8、气泡提示(Popup)

Popup 属性可绑定在组件上显示气泡弹窗提示,设置弹窗内容、交互逻辑和显示状态。主要用于屏幕录制、信息弹出提醒等显示状态。 气泡分为两种类型,一种是系统提供的气泡 PopupOptions,一种是开发者可以自定义的气泡 CustomPopupOptions。其中 PopupOptions 为系统提供的气泡…

玩转React路由,教你根据角色动态生成路由

情景再现&#xff1a;用户登录成功后&#xff0c;我已经获取到了用户的角色&#xff0c;并且根据角色获取到了用户的拥有的权限路由。我想在登录成功后动态的生成路由&#xff0c;来实现不同角色的用户,具备不同的权限&#xff0c;应该怎么实现&#xff1f;可以我考虑以下几种方…

ATFX汇市:欧元区和美国的制造业PMI将发布,市场预期乐观

ATFX汇市&#xff1a;今日16:00&#xff0c;市场研究机构Markit将发布欧元区4月制造业PMI初值&#xff0c;前值为46.1&#xff0c;预期值46.6&#xff0c;预期将增加0.5个百分点。历史数据看&#xff0c;最近三个月&#xff0c;欧元区的制造业PMI均处于较高水平&#xff0c;期间…

ctfshow web入门 SQl注入 web185--web190

web185 这道题还有另外一个脚本就是用concat的拼接达到有数字的目的 concat(truetrue) 2 concat(true) 1 concat(true, true) 11 然后上脚本&#xff08;Y4tacker这个师傅的&#xff09; # Author:Y4tacker import requestsurl "http://341e93e1-a1e7-446a-b7fc-75beb…

qt;lt;等xml|Html转义字符

在写Android布局文件时&#xff0c;左右尖括号<>&#xff0c;括号在XML中没办法直接使用&#xff0c;需要进行转义&#xff0c;收集一些转义符&#xff0c;以便查询使用。 常用表&#xff1a; **对于文章出现的任何问题请大家批评指出&#xff0c;一定及时修改 **可联系…

C#开发的全套成熟的LIS系统源码JavaScript+SQLserver 2012区域云LIS系统源码

C#开发的全套成熟的LIS系统源码JavaScriptSQLserver 2012区域云LIS系统源码 医院云LIS系统是一套成熟的实验室信息管理系统&#xff0c;目前已在多家三级级医院应用&#xff0c;并不断更新。云LIS系统是为病人为中心、以业务处理为基础、以提高检验科室管理水平和工作效率为目标…

低代码技术与仓储管理的新纪元:革命性的供应链变革

引言 在当今数字化时代&#xff0c;企业对于创新和效率的追求越发迫切。在这样的背景下&#xff0c;低代码技术应运而生&#xff0c;成为企业数字化转型的重要工具之一。低代码技术的崛起为企业提供了一种快速、灵活、成本效益高的开发方式&#xff0c;大大缩短了软件开发周期…

STM32系统参数和结构

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. 基本参数 2. 片上资源&#xff08;外设&#xff09; 3. STM32系列命名规则 4. 系统结构 5. 引脚定义 6. 启动配置 7. 最小系统电路 8. 型号分类和缩写 1. 基本参数 STM32F103C8T6 系列&#…

【Linux开发 第十四篇】日志管理

日志管理 日志常常放在/var/log目录中 常用的日志&#xff1a; 比如lasllog文件&#xff1a;可以通过命令lastlog来查看 Centos7.6 日志服务是rsyslogd ps aux | grep "rsyslog" | grep -v "grep"&#xff1a;查询服务是否存在&#xff0c;-v的含义是反…

数字化医保买药平台开发教学:搭建智能医保购药APP

今天&#xff0c;小编将为大家介绍如何搭建智能医保购药APP&#xff0c;以便更好地服务患者和医疗机构。 一、需求分析 在进行APP开发之前&#xff0c;首先需要进行需求分析&#xff0c;明确开发的目标和功能。智能医保购药APP的主要功能包括&#xff1a; 用户注册与登录&…

【鸿蒙NEXT】web组件debug模式

官方文档 使用Devtools工具调试前端页面 打开web debug模式 webview.WebviewController.setWebDebuggingAccess(true)chrome 访问 chrome://inspect/#devices Discover network targets 中添加 localhost:9222 创建cat.sh com.coooliang.yourappbundname 为你应用的bundlen…

android系统更新ActivityManager中APi问题解决

遇到在alps/frameworks/base/core/java/android/app/ActivityManager.java 进行了新接口的增加时&#xff0c;需要进行更新api操作以刷新以下两文件。 alps/frameworks/base/core/api/system-current.txt alps/frameworks/base/core/api/system-lint-baseline.txt 否则会报错…

jsp实验10 JavaBean

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握javabean的用法。【参考课本 上机实验 5.5.1 】 三、源代码以及执行结果截图&#xff1a; 源代码&#xff1a; Fraction.java package sea.water; public class Fraction { public double numbe…

WAF防范原理

目录 一、什么是WAF 二、纵深安全防御 WAF的组网模式 WAF配置全景 WAF端 服务器 攻击端 拦截SQL注入&#xff0c;XSS攻击&#xff0c;木马文件上传 要求&#xff1a; 使用WAF&#xff0c;通过配置策略要求能防御常见的web漏洞攻击&#xff08;要求至少能够防御SQL、XSS、文…

使用R语言生成频数分布表

概要 使用R语言生成频数分布表 在R语言中&#xff0c;可以使用freq()函数来生成频数分布表。首先&#xff0c;将需要分组的数据存储在一个向量中。然后&#xff0c;使用freq()函数将这个向量作为参数输入&#xff0c;即可生成频数分布表。以下是一个示例&#xff1a; 示例 …

ClickHouse 高可用之副本

文章目录 ClickHouse 副本支持副本的引擎配置高可用副本副本应用1.副本表概述2.创建副本表3.写入模拟数据4.副本验证 扩展 —— 在 Zookeeper 中查看副本表信息 ClickHouse 副本 ClickHouse 通过副本机制&#xff0c;可以将数据拷贝存储在不同的节点上。这样&#xff0c;如果一…

【前端】vue的基础知识及开发指引

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Vue是什么二、学习 Vue.js 的基础知识三、熟悉 Vue.js 的生态系统四、掌握常用工具和库五、实践和项目开发六、 持续学习和跟进 前言 随着开发语言及人工智…