6.4 企业数据分析师Agent:数据查询与报告生成实战

0 阅读6分钟

6.4 企业数据分析师Agent:数据查询与报告生成实战

一、场景概述(与书 6.3 综合案例3 对应)

《大模型应用开发极简入门》第6章「实战项目:端到端AI应用」中,综合案例3为企业数据分析师Agent数据查询 + 可视化 + 报告生成。本节与之一一对应,给出能力拆解、工具设计与实现思路,便于端到端搭建。

企业数据分析师 Agent 可根据自然语言问题生成 SQL、执行查询、生成图表与报告,降低数据分析门槛。


二、核心能力

  • 自然语言转 SQL:将「上月销售额 TOP10」「各部门人数分布」等转为可执行 SQL,需结合库表 schema 与业务口径(见 5.7 节)。
  • 数据可视化:根据数据特点与用户意图推荐图表类型(折线、柱状、饼图等),并调用图表工具生成图片。
  • 报告生成:基于查询结果生成 Markdown 或 Word 分析报告,可预置模板与变量填充。

三、工具设计

工具功能
execute_sql执行 SQL 并返回结果(只读、限制表范围、防注入)
get_schema返回库表结构,供模型生成 SQL 时参考
generate_chart根据数据与类型生成图表(如 matplotlib/plotly)
generate_report根据结果与模板生成 Markdown/Word 报告

四、实现思路

  1. 用户输入(如「上月销售额 TOP10」)→ Agent 解析意图。
  2. 若需查数:先调用 get_schema(可选)→ 模型生成 SQL → execute_sql 执行 → 结果返回模型。
  3. 若需图表:模型决定图表类型与数据列 → generate_chart → 返回图片或链接。
  4. 若需报告:模型组织结论与数据 → generate_report 填充模板 → 返回报告。

与书中「数据查询 + 可视化 + 报告生成」完全一致。


五、安全与约束

  • SQL:仅允许 SELECT、限制可访问表、参数化或白名单校验,防止 SQL 注入。
  • 数据脱敏:报告与图表中敏感字段脱敏,符合企业合规要求。
  • 权限:按用户或角色限制可查数据集与可执行操作。

六、与 5.6、5.7 节的实现衔接

5.6 节已讲解 ReAct Agent 与多工具编排,5.7 节给出了数据分析 Agent 的工具设计(SQL、图表、报告)。本节在 5.7 的基础上明确了企业数据分析师这一综合案例的定位:自然语言转 SQL、数据可视化、报告生成三者一体。实现时可直接复用 5.6 节的 create_react_agent + AgentExecutor,将 execute_sql、get_schema、generate_chart、generate_report 封装为 Tool,并在 system 中说明「你是企业数据分析师,可根据用户问题查数据、画图、生成报告」。书中综合案例3 的「数据查询 + 可视化 + 报告生成」即按此模式落地。


八、get_schema 与自然语言转 SQL 的提示设计

get_schema 工具可返回当前允许访问的表名、列名及简要说明,供模型生成 SQL 时参考。在 system 中可写:「你只能根据 get_schema 返回的表结构生成 SQL;仅允许 SELECT;不要使用未在 schema 中出现的表或列。」这样可减少模型编造表名或危险操作。自然语言转 SQL 时,若业务有固定口径(如「销售额」对应某表某列),可在 system 中列出「业务术语 → 表.列」的映射,或提供少量「用户问题 → 正确 SQL」的少样本,提升生成准确率。书中综合案例3 未展开提示细节,本节补充后可直接用于实现阶段。


九、小结

企业数据分析师 Agent 是书中综合案例3的落地形态,也是 Agent + 工具调用的典型应用。通过合理设计工具与提示,可构建实用的数据分析助手。下一节将介绍 DeepSeek 与国内大模型适配。在实际落地时,建议先支持「自然语言 → SQL → 表格结果」的最小闭环,再逐步加入图表与报告,便于快速验证与迭代。与 6.2 节部署结合时,需对 execute_sql 做严格的权限与审计,避免越权查询或敏感数据泄露。


十、与 6.1 融合方案、6.2 部署的衔接

6.1 节融合方案:数据分析师 Agent 即 6.1 中「数据分析」典型场景的完整实现;技术组合为「提示工程(角色+格式)+ Agent(工具编排)+ 工具(SQL、图表、报告)」,无需 RAG 除非接入指标说明等知识库。6.2 节部署:execute_sql、generate_chart 等工具涉及数据与算力,部署时需做限流、审计与权限控制;报告与图表可考虑缓存与异步生成,与 6.2 性能优化一致。书中综合案例3 与 6.1 架构、6.2 生产的衔接点在本节已明确,按本节工具与 5.6、5.7 实现后即可接入 6.2 的网关与监控。


十一、小结(复述)

企业数据分析师 Agent 对应书中综合案例3:数据查询 + 可视化 + 报告生成。工具设计(execute_sql、get_schema、generate_chart、generate_report)与 5.7 一致,实现依赖 5.6 ReAct Agent;安全与部署需结合 6.2。掌握本节即可从零搭建可用的数据分析 Agent,并与全书 RAG、Agent、部署形成闭环。


十二、实现顺序与最小闭环建议

建议先支持「自然语言 → SQL → 表格结果」的最小闭环:用户输入问题 → Agent 调用 get_schema(可选)→ 模型生成 SQL → execute_sql 执行 → 结果返回用户。验证稳定后再加入 generate_chart(根据数据与用户意图推荐图表类型并生成图片)、generate_report(将结果填充到 Markdown/Word 模板)。与 6.2 节部署结合时,需对 execute_sql 做严格的权限与审计(只读、白名单表、记录谁在何时执行了哪些 SQL),避免越权查询或敏感数据泄露。


十三、get_schema 与业务口径的提示设计(复述)

get_schema 工具可返回当前允许访问的表名、列名及简要说明。在 system 中可写:「你只能根据 get_schema 返回的表结构生成 SQL;仅允许 SELECT;不要使用未在 schema 中出现的表或列。」若业务有固定口径(如「销售额」对应某表某列),可在 system 中列出「业务术语 → 表.列」的映射,或提供少量「用户问题 → 正确 SQL」的少样本,提升生成准确率。书中综合案例3 的「数据查询 + 可视化 + 报告生成」即按本节模式落地。


下一节预告:6.5 DeepSeek模型API调用与国内大模型适配指南