面向非技术人员的数据问答系统,用户通过自然语言提问,系统自动生成SQL查询数据并以图表形式返回结果。
点击空白处退出提示
面向非技术人员的数据问答系统,用户通过自然语言提问,系统自动生成SQL查询数据并以图表形式返回结果。
本项目是一个基于大模型(LLM)构建的数据分析智能体。它打破了传统 BI 工具“点击式”的交互局限,用户只需通过自然语言提问,Agent 即可自主理解意图、规划执行步骤,并调用相应的工具完成从“数据查询 -> 统计计算 -> 可视化 -> 报告生成”的端到端分析闭环。
核心功能特性:
智能意图识别与路由:
能够精准区分“闲聊问候”与“复杂数据分析需求”。对于闲聊直接走轻量链路快速响应,避免不必要的工具调用;对于复杂任务则进入 ReAct 推理循环。
全链路数据分析闭环:
数据查询:支持对 CSV 等结构化数据进行灵活的条件过滤与提取。
统计计算:支持分组聚合(GroupBy)、求和、均值等常见统计运算。
可视化生成:根据数据特征自动选择合适的图表类型(柱状图、饼图等)并生成本地图片。
分析报告:将前序步骤的结论进行整合,自动生成结构化的 Markdown 分析报告。
自主规划与多轮工具调度:
面对复合需求(如:“分析各区域销售额并画图”),Agent 能够自主拆解任务,按需串联多个工具,并基于前一个工具的返回结果决定下一步操作,实现真正的“思考-行动-观察”循环。
防死循环与安全机制:
内置最大迭代次数限制,当工具连续调用失败或陷入逻辑死循环时,Agent 能主动终止并向用户报错,保障系统稳定性。
本项目摒弃了重耦合的“流水线”式代码,采用高度模块化的 Agent 架构,具备极强的扩展性。只需替换工具层,即可平滑迁移至 RAG 知识库问答、论文自动总结等其他业务场景。
1. 核心架构设计
大脑层:基于智谱 GLM-4 模型,通过 Function Calling 机制实现意图理解与工具调度。
调度层:实现了标准的 ReAct 模式,封装了多轮对话上下文管理、工具调用历史记录以及异常重试逻辑。
工具层:定义了标准的工具基类,所有具体工具均遵循统一的 Schema 规范和执行接口,实现即插即用。
2. 关键技术落地细节
大模型输出强校验:针对大模型生成的工具调用参数可能出现格式不规范的问题,引入 Pydantic 数据模型。在执行工具前进行参数类型强转与校验,有效拦截了因参数格式错误导致的代码崩溃。
OpenAI 标准协议适配:底层调用完全兼容 OpenAI SDK 标准格式,通过 base_url 配置即可无缝切换智谱、通义千问或本地开源模型,实现模型层的解耦。
Prompt 工程约束:精心设计了系统提示词,明确界定了 Agent 的身份边界、可用工具的使用场景以及输出规范,显著降低了模型的幻觉与错误调度率。
意图识别降级策略:在主流程前置引入轻量级意图识别,有效降低了高频简单对话场景下的 Token 消耗和响应延迟。




评论