程序聚合 软件案例 NLP2SQL 智能数据库查询系统

NLP2SQL 智能数据库查询系统

2026-08-04 19:06:46
行业:人工智能
载体:网站
技术:Oracle SQL Developer

业务和功能介绍

1. 立项背景和目标

NLP2SQL 是从零搭建的智能数据库查询 Demo。立项背景是想验证一条朴素的假设:让业务人员用自然语言直接查库,能不能用现有
LLM 加 LangChain 拼出一条端到端、不依赖写代码就能用的最短路径。

系统解决的核心问题是"懂业务的人查不到数据,懂数据的人问不到业务"——业务侧的需求(比如"研发部和市场部的人数对比"、"他们
薪资呢")必须经过开发翻译成 SQL,且每次新需求都要排期。立项目标只有一句话:让用户用中文提问,系统自己生成
SQL、执行、总结结果,三步内拿到答案。

项目以 employees 示例库(5 张表、20 员工)为基准,覆盖统计、过滤、聚合、JOIN、模糊匹配、多轮引用 6
类典型问题。设计文档里明确写了不做什么:不支持写操作、不做多租户与权限隔离、不做生产监控、只支持 MySQL
一种方言、不引入 ReAct Agent 的多步推理——避免范围蔓延。

2. 软件功能与核心功能模块

系统暴露 6 个 HTTP 端点,对应 6 类能力,全部在 app/main.py 里实现。

主端点是 POST /api/v1/query,承担"自然语言→SQL→执行→总结"的全流程。辅助端点包括 GET /api/v1/schema/tables 和
/schema/tables/{name} 浏览库表和单表 schema、/schema/tables/{name}/sample 读样本行;POST /api/v1/schema/reload
在数据库结构变更后重建向量索引;GET 与 DELETE /api/v1/sessions/{sid} 拉取和清空多轮对话历史;GET /health
用于健康探活,GET /docs 是 Swagger UI,零额外成本即可调试。

核心代码按单一职责拆成 7 个模块。Pipeline 是 app/pipeline.py 里的编排器,run 方法按"检索 schema→生成
SQL→校验→执行→总结→写记忆"六步串行执行,任意一步失败都返回结构化 QueryResponse,含
sql_validated、validation_error、execution_time_ms 三个可观测字段。SQLGenerator 在
app/chains/sql_generator.py,负责调用 LLM 并把"LLM 自由输出"压成"纯 SQL",需要剥离 think 标签、Markdown
代码块、按分号切分后逐条验证取第一条合法只读语句。validate_sql 在 app/chains/validator.py,是系统的安全防线,用
sqlglot 解析 AST,白名单只放 Select、Uni

项目实现

架构选的是单链 Pipeline,明确放弃 ReAct Agent,避免循环调试成本。HTTP 进入后 6
步顺序执行,每一步独立可测,失败立即返回结构化错误。

各模块的技术栈如下。Web 层用 FastAPI ≥0.110 配 Uvicorn ≥0.27,因为异步原生、Pydantic 模型自校验、/docs 零成本生成
Swagger。LLM 适配用 LangChain ≥0.3 配 langchain-openai,通过 OpenAI 兼容接口接入 MiniMax-M3,无需为单家厂商写适配。SQL
校验用 sqlglot ≥20,真正解析 AST 而不是正则,支持方言且能递归扫子节点。数据库用 SQLAlchemy 2 配 PyMySQL,2.x 新风格
API,pymysql 纯 Python 免编译。向量检索用 ChromaDB ≥0.5 配 ONNX embedding,轻量、本地持久化、不引入 torch
那套重依赖,schema 改动可手动 reload。配置用 pydantic-settings ≥2 做 .env 强类型解析,启动即失败。测试用 pytest 加
pytest-asyncio 加 httpx 加 pytest-cov。

前后端是分离的。后端纯 REST;前端(frontend/)是独立的 Vite 加 React 加 shadcn/ui 工程,开发端口 5173 通过 Vite proxy
把 /api、/health 转给 8000,跨机部署用 VITE_API_TARGET 环境变量覆盖,无需改代码。

示例图片视频


豆翔苏斌油
15天前活跃
方向: 人工智能-AI应用开发、
交付率:100.00%
相似推荐
卷烟市场网格化管理系统性能测试(配合项目验收)
网格化管理信息系统是面向烟草行业的一体化智慧管理平台,融合 Web 端决策看板与移动端便携应用,构建全链路网格化管控体系。Web 端聚焦宏观决策,通过可视化看板实时呈现客户数量、烟农规模、人员配置及营销、专卖、物流等核心数据,支撑管理层精准研判;移动端主打一线实操,实现烟农分类管理、拜访次数统计、信息查询与拜访计划制定等功能,覆盖烟农全生命周期管理。系统打通数据壁垒,以网格化模式整合资源,提升烟草管理的精细化、智能化水平,助力烟草业务高效协同与科学决策。
瀚锦会员管理系统
1、立项背景和目标 传统美业团队管理长期依赖微信手工作业,存在会员信息分散、业绩数据滞后、团队成长路径不清晰等痛点。管理者无法实时掌握团队动态,销售数据靠人工统计,效率低下且容易出错。随着美业团队规模扩大,急需一套数字化工具来支撑日常运营。 本项目旨在开发一套覆盖"团队管理—业务运营—数据分析—成长体系"全链路的美业团队管理系统。核心目标包括:①实现会员信息集中管理,支持多等级会员体系(品牌私董、战略股东、金棠、银棠、喜棠、白棠等);②打通客户管理、销售记录、产品管理、库存管理全流程数字化;③建立八级成长体系(初心者→探索者→行进者→奋进者→突破者→引领者→卓越者→巅峰者),为团队成员提供清晰的学习晋升路径;④通过数据中心提供业绩统计、客户分析、利润分析、业绩排名、周度报表等决策支持;⑤三端同步(PC端、手机端、APP端),确保数据实时一致。 2、软件功能、核心功能模块的介绍 系统包含以下核心功能模块: 团队管理模块:会员管理(增删改查、等级筛选、批量操作)、等级管理(多级会员价格体系)、组织架构树(上下级关系可视化)、一键设置(快速添加会员、一键生成测试账号)。 业务运营模块:客户管理(客户状态追踪:新客户→跟进中→已到访→有意向→已成交→已流失)、销售记录(全流程订单管理)、产品管理(SKU及价格体系管理)、库存管理、瀚锦TV中心(视频内容管理)、朋友圈运营(内容同步)。 数据中心模块:业绩统计(实时/累计业绩数据)、客户分析(客户分布与转化漏斗)、利润分析、业绩排名(团队排行榜)、周度报表(自动汇总)。 成长体系模块:八步成长系统(8个等级逐步成长,每级包含指定课程和作业)、学习计划管理(课件视频学习)、课程作业提交与审核、成长等级申请与审批、每日复盘。 系统管理模块:通知消息(群发/单独发送)、菜单功能开关、网站设置(SEO标题/描述/关键词)、版本管理(版本号自动更新、历史记录)、广告管理、操作日志、管理组权限管理、数据备份与恢复。 3、业务流程、功能路径描述 会员管理流程:管理员在后台添加会员 → 分配等级和上级 → 会员登录系统 → 查看个人资料和业绩数据 → 参与成长体系学习。 客户管理流程:销售人员创建客户 → 记录跟进和拜访 → 标记客户状态变化 → 成交后关联销售订单 → 自动更新业绩统计。 销售业务流程:选择客户和产品 → 创建销售订单 → 记录实付金额 → 系统自动更新库存 → 同步至数据中心业绩统计和排行榜。 成长升级流程:会员查看当前等级 → 观看对应课件视频 → 提交课程作业 → 管理员审核通过 → 申请晋升下一等级 → 管理员审批 → 等级更新解锁新权限。 数据同步流程:各业务模块产生数据 → 实时写入数据库 → stats_service聚合计算 → PC端/手机端/APP端三端实时同步展示。
农产品供应链项目-金桂农产品项目
负责优惠券模块和同步模块和优化系统架构,优化执行时间部署项目上线,然后测试bug,嗯,功能介绍就是农产品上下线对接然后发货物流便捷然后有那个供应商和客户对接,然后完成下单完成这个客户和供应商的一个对接
公司内部业务协同平台-MEAT
本项目为 vivo 内部运营管理 Web 后台,立项背景为解决多业务线运营数据分散、流程审批繁琐、业务协同效率偏低问题,目标实现业务流程线上化、数据统一归集、权限分级管控。核心模块包含数据看板、流程审批、业务配置、角色权限管理。业务流程:运营人员提交业务申请,经多级线上审批流转,完成配置后数据同步至看板,管理人员可查看统计报表,实现全链路业务管控,支撑内部多部门日常运营工作。
股权投资系统
在海宁市城市发展投资集团有限公司的股权投资系统项目中,担任前端开发角色,负责构建支持股权投资全流程管理的数字化平台。系统涵盖项目储备、立项审批、尽职调查、方案评审、决策执行、投后管理及退出等关键环节,实现业务流程的线上化与可视化。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服