Files
Wiki/raw/AI Data Foundation Demand.md
T
2026-09-24 10:26:02 +08:00

6.1 KiB
Raw Blame History

智能数据平台(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(明细层) 字段标准化:手机号、身份证号脱敏
去重:基于业务主键 + 时间戳的拉链表 / 最新记录去重逻辑
质量探针:清洗过程中触发规则校验(非空、长度、正则)
DWS(汇总层) 按维度预聚合(日期/省份/品牌/企业)
ADS(应用层) 面向查询的宽表,字段含中文注释,NL2SQL 模块优先读取该层

核心要点:

  • 清洗规则配置化,无需改代码即可调整
  • 基于 Airflow 或轻量调度器管理 ETL 任务,支持手动触发与 DAG 可视化
  • 每次 ETL 后自动计算数据质量指标(记录数波动、空值率、时效性),异常告警
  • 支持使用Agent完成ETL

后续内容 (先不做)

  • 数据级别RBAC,实现行级(RLS)和列级(CLS)精细化数据权限控制。
    • 行级权限(RLS):以 SQL WHERE 子句定义数据范围,在 SQL 执行前自动注入,用户无感知
    • 列级权限(CLS):不可见字段自动脱敏(***)或直接拒绝查询;敏感字段不注入 NL2SQL Schema
    • 表级权限:白名单模式,无权表对用户完全透明
    • 权限管理界面:支持模拟特定用户查询结果(权限验证用)
    • 权限变更即时生效,触发缓存失效;所有变更写入不可删除的审计记录
  • 血缘下钻
    • 在查询结果中逐级深入分析,并追踪数据来源
    • 下钻路径可配置(时间:年→月→日;地区:省→市→区县)
    • 面包屑导航支持任意层级回退
    • 最小血缘:仅追踪当前数据的直接上游表,用户可点击"查看数据来源"查看
    • 血缘图谱页:DAG 有向图可视化,支持搜索表名、层级过滤

四、功能验证

类别 关键指标
NL2SQL NL2SQL 端到端 P95 ≤ 15s;API 调用 P99 ≤ 2s;并发 ≥ 200 用户;100条测试集,SQL 准确率 ≥ 85%;5轮多轮对话正确率 ≥ 90%
结果展示 5万行 Excel 导出 ≤ 30s;PDF 含图表无乱码
安全Guardrails SQL注入和LLM Promote注入;
浏览器 Chrome/Edge/Firefox 100+(不支持 IE)