1、立项背景和目标
随着企业数据量的爆发式增长,业务人员直接向数据库取数分析的需求日益迫切,但传统方式高度依赖技术人员编写SQL,沟通成本高、响应周期长。为解决这一痛点,本项目立项旨在构建一个基于大模型(LLM)的自然语言数据分析平台。核心目标是打造一个智能体(Agent),允许用户通过日常对话(如“江门每月新增收入是多少”)直接查询数据库,并自动完成意图识别、表结构匹配、SQL生成、数据清洗及结果可视化,最终实现数据驱动决策的零门槛与高效率。
2、软件功能、核心功能模块的介绍
软件主要包含四大核心模块:①用户配置模块:支持通义千问、DeepSeek等多种API Key的配置及数据库连接设置,是整个系统的入口。②自然语言处理模块:接收用户模糊的业务需求,将其转化为机器可理解的指令。③数据分析与清洗模块:根据指令自动生成SQL查询数据,并提供数据清洗功能(如备份表、清空原表),确保数据操作的灵活性与安全性。④智能调度与可视化模块:将查询结果以表格或图表形式呈现,并支持环比等复杂计算。
3、业务流程、功能路径描述
业务流程完全由智能体驱动:①用户输入自然语言需求(如“江门,每个月,总新增收入,环比”);②智能体(Agent) 接管任务,通过RAG技术检索向量数据库中的表结构;③工具调用:根据需求调用LangChain工具包进行数据计算或逻辑判断;④生成SQL:将需求、表结构及工具结果整合为提示词交由大模型生成SQL;⑤验证与执行:对SQL进行安全性检查(防删除、语法校验)后执行查询;⑥结果返回:数据经脱敏、格式化后返回给用户。
1、整体架构和设计思路,不同模块使用的技术栈
项目整体采用LangChain + 大模型的智能体架构。设计思路是将复杂的业务流程抽象为一个自动化闭环,由Agent作为“总指挥”进行任务编排。技术栈方面:前端负责交互展示;后端核心调度层使用LangChain的AgentExecutor、PromptTemplate及OutputParser组件;数据库层使用MySQL存储业务数据,ChromaDB向量数据库用于存储表结构元数据以实现RAG检索;大模型层接入了DeepSeek等LLM,并利用其API进行SQL生成与推理;同时集成了Python计算工具用于复杂指标(如环比)的运算。
2、“我”的负责模块和结果(尽可能量化)
我主要负责核心智能体的编排与调度模块的开发,以及SQL生成的自愈循环机制的设计。具体成果:①成功搭建了基于LangChain的Agent框架,将用户输入到结果输出的全流程耗时从平均3分钟降低至15秒内;②设计的自愈循环机制使SQL首次执行成功率从65%提升至92%,大幅减少人工介入;③封装了标准化提示词模板,覆盖了95% 以上的常见查询场景,确保了模型输出的稳定性。
3、“我”遇到的难点、坑,和解决方案
难点一:大模型生成的SQL存在幻觉,常引用不存在的字段名。 解决方案:引入RAG技术,在执行查询前先将用户需求与ChromaDB中的真实表结构进行向量匹配,将匹配到的精准结构作为“参考答案”拼入提示词,极大降低了字段幻觉。难点二:SQL验证失败后流程中断。 解决方案:设计了自愈循环,当SQL校验不通过时,Agent会自动捕获错误信息(如“字段A不存在”),将其封装后重新请求大模型修正,实现了“失败-分析-重试”的闭环,无需人工干预。难点三:单表模式下RAG作用不明显。 认识到当前场景的局限性,我通过预先加载表结构的JSON文件作为临时替代方案,确保了项目的顺利演示与交付。