免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

基于 hello-agents 框架的智能数据分析 Agent 实战:CPI 趋势分析报告全流程解读

基于 hello-agents 框架的智能数据分析 Agent 实战:CPI 趋势分析报告全流程解读 基于 hello-agents 框架的智能数据分析 Agent 实战CPI 趋势分析报告全流程解读【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/datawhalechina/hello-agents导读本文以 hello-agents 仓库共创项目 DataAnalysisAgent 生成的居民消费价格指数CPI数据分析报告为主体完整拆解一份真实智能体产出的分析报告从数据读取、清洗统计、图表生成到 Markdown 报告落盘的完整链路。读完本文你将掌握如何用SimpleAgent 自定义工具完成一份可复用的数据分析报告理解报告中统计结论与底层数据的对应关系并学会用仓库源码复现这一流程。本文的主体文档为 DataAnalysisAgent 的分析报告其配套实现位于 main.ipynb 与 README.md。一、报告从何而来DataAnalysisAgent 项目背景这份report.md并非人工撰写而是由 DataAnalysisAgent —— 一个基于 hello-agents 框架SimpleAgent构建的智能数据分析助手自动生成的产物。根据 README.md该项目能够自动分析数据、生成可视化图表并撰写分析报告其技术栈为hello-agents 框架采用SimpleAgent智能体范式Python AST 模块用于解析 LLM 输出的 ECharts 代码与报告内容OpenAI 兼容 API通过环境变量接入大模型完成智能分析。整个项目围绕main.ipynb展开共分为 6 个部分环境配置 → 定义数据分析工具 → 创建智能体 → 读取示例数据表格 → 执行数据分析 → 保存分析报告和图表。本文这份报告就是第 5 部分的真实输出被保存到output/目录下。二、分析背景与目标报告开篇明确了本次分析的任务边界本报告旨在分析 2025 年 6 月至 10 月期间不同类别居民消费价格指数的变化趋势以识别价格变动的规律、异常情况以及各分类之间的对比关系。通过可视化图表和统计分析为政策制定者或相关机构提供决策支持。对应的输入数据为 data/simple_data.xls这是一份包含 13 个 CPI 分类指标、覆盖 2025 年 6 月至 10 月共 5 个月度的 Excel 表格上年同月100口径。在 main.ipynb 第 4 部分中pd.read_excel读取后保留原始 NaN并整体序列化为 JSON 字符串sample_data传给智能体。三、关键的发现7 条核心结论报告基于 13 个指标、5 个月度的对比提炼出 7 条关键发现整体趋势CPI 总体呈上升趋势由 100.1 升至 100.2食品烟酒类价格波动2025 年 6 月至 8 月间持续下降9 月和 10 月有所回升存在季节性波动其他用品及服务类价格显著上涨2025 年 10 月达到 112.8为所有类别中涨幅最大价格上涨压力较大交通通信类价格稳步上升从 96.3 上升至 98.5持续增长非食品 CPI 略有上升从 100.1 上升至 100.9温和上行消费品 CPI 波动较小6 月至 10 月基本保持稳定服务类价格指数相对稳定小幅上升整体变化不大。对照 main.ipynb 第 4 部分中的原始数据这 7 条结论均与数据表一一对应——例如其他用品及服务类从 6 月的 108.1 一路升至 10 月的 112.8是唯一突破 110 的类别交通通信类逐月 96.3 → 96.9 → 97.6 → 98.0 → 98.5呈现单调上升。可以看出智能体并非凭空输出结论而是严格按照数据取值进行归纳。四、统计计算与趋势识别逐指标关键统计量报告对主要指标给出了平均值、最大值、最小值及增长率四类统计量是整份报告中数据密度最高、最适合直接引用的部分。整理如下指标平均值最大值月份最小值月份增长率居民消费价格指数CPI100.15100.22025年10月99.62025年8月0.1%食品烟酒类99.2100.12025年6月97.42025年9月0.8%其他用品及服务类108.3112.82025年10月108.02025年7月4.4%交通通信类97.498.52025年10月96.32025年6月2.3%非食品 CPI100.5100.92025年10月100.12025年6月0.8%服务 CPI100.6100.82025年10月100.52025年6月0.3%这些统计值可以由项目的DataStatisticsTool复现。该工具定义在 main.ipynb 第 2 部分对数值型列计算count / mean / median / std / min / max / q25 / q75八项描述性统计量对分类型列统计unique_count与 Top10 取值频次并以 JSON 字符串返回给 LLM作为趋势识别、异常检测的量化依据。一个值得注意的细节报告的增长率口径各不相同如食品烟酒类 0.8% 为相对自身幅度的波动使用时建议结合最大值、最小值与时间序列共同解读避免对不同类别之间的增长率做直接横向比较。五、异常检测两类明显偏离报告的异常检测聚焦于两个显著偏离其他用品及服务类2025 年 10 月达 112.8明显高于其他月份报告推断可能由于特定商品价格上涨或供应紧张食品烟酒类6 月至 8 月持续下降、9 月至 10 月回升报告指出可能存在季节性因素影响。从数据上看其他用品及服务类是唯一在单个月份出现台阶式跳升的指标9 月 109.9 → 10 月 112.8单月上涨 2.9 个百分点确实符合异常检测中离群高值的典型特征。这类分析正是DataStatisticsTool提供的std、max、min等统计量所支撑的数据驱动识别报告在此处也保持了谨慎表述可能由于……未做超出数据范围的臆断。六、对比分析类别间的横向关系报告从横向对比角度给出三组结论其他用品及服务类增长幅度最大对整体 CPI 的影响最为显著食品烟酒类与交通通信类趋势不同前者波动较大后者平稳交通通信类五个月单调上升且斜率均匀非食品 CPI 与服务 CPI 增长趋势相似显示非食品与服务类价格在整体 CPI 中的占比逐渐增加。第 3 点值得结合原始数据验证非食品 CPI 从 100.1 逐月升至 100.9服务 CPI 从 100.5 升至 100.8两条曲线斜率接近因此报告将其归为相似趋势是有据可依的。七、结论与决策价值报告的结论部分对全文进行收束2025 年 6 月至 10 月期间居民消费价格指数整体呈温和上升趋势其中其他用品及服务类价格指数的涨幅最大而食品烟酒类价格指数则表现出明显的季节性波动。这些变化提示我们关注特定类别价格变动的原因并采取相应措施以应对潜在的通胀压力。整份报告遵循了背景目标 → 关键发现 → 统计计算 → 异常检测 → 对比分析 → 结论的完整分析闭环且每一处判断都能在原始数据中找到依据体现了SimpleAgent在结构化报告生成上的实用价值。八、从报告到代码如何用仓库源码复现该流程如果你希望自行复现这份报告可以按照 main.ipynb 的 6 个部分依次执行环境配置安装依赖hello-agents[all]0.1.0、jupyter、xlrd、python-dotenv见 requirements.txt并通过环境变量设置LLM_MODEL_ID、LLM_API_KEY、LLM_BASE_URL、LLM_TIMEOUT定义工具继承Tool基类实现DataCleaningTool去空值、列筛选、空值补 0与DataStatisticsTool描述性统计创建智能体实例化ToolRegistry注册工具再以SimpleAgent(name..., llmHelloAgentsLLM(), system_prompt..., tool_registry...)创建数据分析助手读取数据用pd.read_excel读取 data/simple_data.xls 并转为 JSON执行分析agent.run(对以下数据绘制图表和数据分析\n\n{data}\n)让 LLM 依次调用清洗、统计工具并输出 ECharts 配置与 Markdown 报告保存产物用正则分别从结果中提取option {...}与# 数据分析报告...部分保存为 echarts.html 与 report.md。8.1 关键源码佐证SimpleAgent 如何驱动工具调用hello-agents 框架中SimpleAgent的实现可参考 Co-creation-projects/YYHDBL-HelloCodeAgentCli/agents/simple_agent.py。其run方法会在系统提示词中自动注入工具描述与调用格式[TOOL_CALL:工具名:参数]随后进入调用 LLM → 解析工具调用 → 执行工具 → 回填结果的迭代循环max_tool_iterations控制最大工具调用轮数——这正是 DataAnalysisAgent 中先清洗、再统计、最后写报告这一串行流程能够被自动执行的底层机制。8.2 关键源码佐证Tool 基类的契约自定义工具必须实现run(parameters) - str与get_parameters() - List[ToolParameter]两个抽象方法见 tools/base.py其中ToolParameter声明参数名、类型、描述与是否必填用于指导 LLM 正确生成参数。DataAnalysisAgent 中DataCleaningTool的三个参数data_json必填、drop_na与columns_to_keep可选即遵循该契约这也是智能体能够按 JSON 格式正确传参的原因。8.3 运行前提与限制本项目依赖真实 LLM APIREADME 与 notebook 中预配置了 ModelScope 兼容接口无 API Key 时无法复现完整推理simple_data.xls使用xlrd读取需保证.xls格式旧版 Excel报告中统计值由 LLM 基于工具返回值生成不同模型/温度下的具体措辞与增长率口径可能略有差异但数据事实以原始表为准。附仓库中的关联产物报告正文output/report.md可视化图表output/echarts.html13 条折线序列的 ECharts 单页图完整实现main.ipynb项目说明README.md依赖清单requirements.txt示例数据data/simple_data.xls【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/datawhalechina/hello-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表