场景:大型制造企业级 BI 平台(React 技术栈,覆盖系统项目管理、运维 KPI、调度系统、可视化看板等十余模块),数据底座为双 SQL Server 数仓实例(生产业务库与数据抽取库分离部署,统一只读账号接入)。典型问法高度口语化:"本月各产线实际产能与完成率对比""近三天组件点击量排行前六"。
立项动因:
取数效率瓶颈——传统 BI 陷入"报表墙"困局,每个未预设问题都需 IT 排期、天级交付,业务提问速度远超人工响应速度。
语义鸿沟——业务语言(产线/完成率/点击率)与物理 schema(英文缩写字段名、拼音表名)之间缺一层映射,通用大模型直连 Text-to-SQL 必然表名幻觉、字段编造、跨库乱 JOIN。
安全红线——AI 生成的 SQL 直打生产库,写操作、越权、提示词注入三重风险叠加,无确定性护栏无法过审上线。
嵌入式约束——能力需以组件形态"长"进存量系统,复用既有登录态与账号体系,而非另起炉灶。
项目定位:要解决的不是"能不能生成 SQL",而是如何让大模型在企业真实、有权限边界的存量数据环境中,稳定、安全、可解释地把 SQL 跑通——从 Demo 可用到生产可用的工程跨越。
① 企业级语义层(Semantic Layer)
基于 SQL Server sys.* 目录视图全量采集表结构、主外键与行数,支持跨服务器跨库扫描;LLM 自动生成表中文名、业务域与字段语义角色(维度/指标/时间/标识),宽表自动分块多轮识别;draft → structured → vectorized 状态机管控发布,一键向量化入知识库。
② 业务规则引擎——把行业经验沉淀为可运营资产:触发问法、SQL 模板、涉及表、图表建议、优先级;命中后强制补入相关表,并以模板为基准驱动模型改写。
③ 混合检索(Hybrid Retrieval)——向量召回(pgvector cosine)+ 关键词召回(自研 Okapi BM25,中文 bigram 分词)+ 结构化启发式,三路加权融合,权重后台可调。
④ 智能问数主链路——安全风控 → 混合召回 → 上下文构建 → 规则判定 → LLM 生成 SQL → 权限校验 → SQL 守卫 → 只读执行 → 智能配图,返回 SQL / 数据 / 图表 / 摘要 / 告警全要素。
⑤ 智能图表决策——数据画像 → LLM 选图 → 确定性校验 → 服务端直出完整 ECharts option;支持双轴图、分面多图、滚动图例与长标签截断。
⑥ 三层数据安全——输入风控(正则层 + LLM-as-a-Judge 语义评析)、SQL 守卫(AST 级表白名单)、表级账号权限。
⑦ 双态对话与流式体验——智能问数 + 通用问答(Dify 代理,多模态文件上传)双模式会话隔离;自研 SSE 阶段化进度协议。
职责:全栈独立交付,约 12,700 行——后端 5,618 行 Python(22 个服务、20+ REST 接口、7 张数据模型)+ 925 行单元测试 + 3,079 行 React 组件 + 3,093 行原生 JS 前端 + 3 份工程文档。
技术栈:Python 3.13 · FastAPI · SQLAlchemy 2.0 · Pydantic v2 · PostgreSQL + pgvector · SQL Server/pyodbc · sqlglot · httpx | DeepSeek-V3.2(OpenAI 兼容 · JSON Mode)· BGE-M3(1024 维)| React 17 · Ant Design 4 · ECharts 5 · SCSS · webpack。
架构:单服务分层架构(API → Service → Model/Schema),元数据库与业务数据源物理隔离,模型能力经 OpenAI 兼容网关统一接入;采用 Agent 化分层编排——各阶段具备独立职责与降级策略的确定性流水线。
亮点与难点:
多路召回混合检索(核心)——不依赖单一向量检索,而是三路并行召回后加权融合:向量召回(pgvector 余弦距离)管语义相似,关键词召回(自研 Okapi BM25,k1=1.5 / b=0.75,最大分归一化)管专有名词、表名、业务术语的精确命中——这类低频高信息量的词恰恰是向量检索的盲区,结构化规则召回管"时间词→时间字段、指标词→度量字段、分组词→维度字段、业务域命中"这类业务先验。配套中文分词策略:CJK 连续串同时产出整词(≤4 字)与全部字符 bigram,英文 token 小写化。三路权重(默认 0.6 / 0.3 / 0.1)后台可实时调参;不引入 ES,几千条语料下纯 Python 毫秒级完成全量打分。
单
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论