Files
Document/AI Data Foundation Demand.md
2026-05-09 17:50:39 +08:00

124 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 智能数据平台AI Data Platform需求文档
**版本:** v1.0.0 **日期:** 2026-04-08 **状态:** 草稿
---
## 一、项目背景
企业日常面对海量业务数据传统分析模式存在以下问题用户依赖数据团队写SQL响应慢无法即时决策数据链路不透明难以追溯数据来源数据分析和报表生成流程繁琐ETL 流程复杂且维护成本高。
为满足企业需求,亟需构建一套以自然语言为入口、以数据仓库为底座、以安全合规为保障的智能数据分析平台,让数据民主化,使业务人员无需懂 SQL 即可完成复杂的数据查询与分析。
## 二、项目目标
构建一套基于 AI 的对话式数据分析 + 数据采集 + 数据仓储 + 数据治理平台实现从自然语言查询到结果可视化、导出、服务化以及基础数据安全管理的全流程能力达到为上层应用提供数据支持如舆情分析和AI Ops。
## 三、功能需求概览
### 聊天式查询NL2SQL
用户通过对话框输入自然语言,系统自动生成并执行 SQL返回结构化结果可多轮对话修正。单次查询行数上限 10,000管理员可配置超时 30 秒。
**核心要点:**
+ 语义层定义,需要手动维护
- 统一指标,绑定唯一聚合逻辑、可用维度(时间/地区等)、过滤条件
- 枚举值映射(如 status=1 自动转译为 "完成"
- join关系定义避免模型自由关联
+ RAG增强的Schema召回数据库中表较多无法全部放入Prompt
- 表和字段的向量化按用户问题做相似度召回Doris混合检索使用关键词检索 + 向量语义检索)
- 相似SQL的样本召回方案待确定
+ SQL 生成后须经语法验证、安全验证,失败自动重试(最多 3 次,需要携带错误信息修正)
+ 表关联关系的知识图谱可用于join查询方案待确定
+ 查询历史记录,对比执行准确率
---
### 表格/报表结果展示
聊天式查询将结果直接返回再对话框中,需要以更专业化的表格与图表形式呈现,支持交互操作。
**核心要点:**
+ 表格使用专业表格插件展示,支持简单交互操作,例如过滤,宽度调整等
+ 使用 ECharts / DataV 渲染,需要根据字段类型自动推荐图表(折线/柱状/饼图),支持表格与图表的双向联动
+ 生成数据摘要(描述)内容
+ 表格使用Excel导出全量数据导出.xlsx, .csv中文表头数值保持格式
+ 图表使用PDF导出
---
### 结果固化API/MCP
将保存的查询封装为对外服务,供外部系统集成调用。
**核心要点:**
+ 一键"发布为 API",自定义路径、参数等,可生成接口文档;
+ 版本管理或变更机制查询逻辑或Schema变更
+ 支持封装为 MCP Tool`name`/`description`/`inputSchema`用户填写或自动从SQL中提取供 AI Agent 调用
+ 统一 API 网关处理鉴权、限流、CORS、日志、调用监控QPS、成功率、延迟、错误码分布
---
### 基础 Guardrail
在 AI 处理链路中建立安全护栏,防止注入攻击与数据泄露。
**核心要点:**
| 环节 | 防护内容 |
| --- | --- |
| 输入过滤 | 提示词注入、SQL 注入尝试、敏感词、越权意图、超长输入(>2000字符和LLM Prompt 的注入防护 |
| SQL 安全 | 仅允许 SELECT禁止 DDL/DML禁止危险函数表名须在元数据白名单内 |
| 输出过滤 | 手机号/身份证自动打码,敏感词屏蔽,越权字段值拦截 |
| 审计日志 | 所有请求记录(含拒绝原因),只读不可删,保留 1 年 |
+ 过滤规则可在管理界面配置(敏感词库、黑名单函数),更新即时生效
---
### ETL 采集
构建全链路数据管道,数据分四层流转。
**数据分层:**
| 层次 | 说明 |
| --- | --- |
| ODS贴源层 | 原始数据,不做业务加工,按日期分区 |
| DWD明细层 | 字段标准化:手机号、身份证号脱敏<br/>去重:基于业务主键 + 时间戳的拉链表 / 最新记录去重逻辑<br/>质量探针:清洗过程中触发规则校验(非空、长度、正则) |
| DWS汇总层 | 按维度预聚合(日期/省份/品牌/企业) |
| ADS应用层 | 面向查询的宽表字段含中文注释NL2SQL 模块优先读取该层 |
**核心要点:**
+ 清洗规则配置化,无需改代码即可调整
+ 基于 Airflow 或轻量调度器管理 ETL 任务,支持手动触发与 DAG 可视化
+ 每次 ETL 后自动计算数据质量指标(记录数波动、空值率、时效性),异常告警
+ 支持使用Agent完成ETL
---
### 后续内容 (先不做)
+ 数据级别RBAC实现行级RLS和列级CLS精细化数据权限控制。
- 行级权限RLS以 SQL WHERE 子句定义数据范围,在 SQL 执行前自动注入,用户无感知
- 列级权限CLS不可见字段自动脱敏`***`)或直接拒绝查询;敏感字段不注入 NL2SQL Schema
- 表级权限:白名单模式,无权表对用户完全透明
- 权限管理界面:支持模拟特定用户查询结果(权限验证用)
- 权限变更即时生效,触发缓存失效;所有变更写入不可删除的审计记录
+ 血缘下钻
- 在查询结果中逐级深入分析,并追踪数据来源
- 下钻路径可配置(时间:年→月→日;地区:省→市→区县)
- 面包屑导航支持任意层级回退
- 最小血缘:仅追踪当前数据的直接上游表,用户可点击"查看数据来源"查看
- 血缘图谱页DAG 有向图可视化,支持搜索表名、层级过滤
---
## 四、功能验证
| 类别 | 关键指标 |
| --- | --- |
| NL2SQL | NL2SQL 端到端 P95 ≤ 15sAPI 调用 P99 ≤ 2s并发 ≥ 200 用户100条测试集SQL 准确率 ≥ 85%5轮多轮对话正确率 ≥ 90% |
| 结果展示 | 5万行 Excel 导出 ≤ 30sPDF 含图表无乱码 |
| 安全Guardrails | SQL注入和LLM Promote注入 |
| 浏览器 | Chrome/Edge/Firefox 100+(不支持 IE |