finyx_data_frontend/docs/Python技术人员工作量文档.md

24 KiB
Raw Blame History

数据资源盘点系统 - Python 技术人员工作量文档

📋 文档说明

本文档分析数据资源盘点系统中所有涉及大模型技术和需要 Python 开发的功能接口,为 Python 技术人员提供详细的工作量评估和开发任务清单。

文档版本: v1.0
更新日期: 2025-01-XX
适用范围: 数据资源盘点模块


🎯 系统概述

数据资源盘点系统是一个企业级数据资产管理平台的核心模块,通过 AI 大模型技术实现智能化的数据资产识别、分析和价值挖掘。系统主要包含 4 个核心步骤:

  1. 数据盘点 (InventoryStep): 智能识别数据资产、PII 敏感信息、重要数据
  2. 背景调研 (ContextStep): 收集企业信息,触发场景挖掘
  3. 价值挖掘 (ValueStep): AI 推荐潜在应用场景
  4. 成果交付 (DeliveryStep): 生成完整的数据资产盘点工作总结报告

📊 功能模块分析与工作量评估

模块一:数据盘点智能分析服务

1.1 文档解析服务

功能描述: 解析上传的数据字典文档Excel/Word提取表结构信息

涉及页面: InventoryStep.vue - 方案一(已有文档导入)

Python 开发任务:

  • 文档解析接口 (/api/v1/inventory/parse-document)
    • Excel 文件解析(支持 .xlsx, .xls
    • Word 文件解析(支持 .doc, .docx
    • PDF 文档解析(如需要)
    • 表结构信息提取(表名、字段名、字段类型、注释)

技术栈:

  • openpyxl / pandas (Excel 解析)
  • python-docx (Word 解析)
  • PyPDF2 / pdfplumber (PDF 解析,如需要)

工作量评估: 5 人日

  • 接口开发: 2 人日
  • 文档解析逻辑: 2 人日
  • 单元测试和异常处理: 1 人日

输入数据格式:

{
  "file_path": "string",  // 上传文件路径
  "file_type": "excel | word | pdf",
  "project_id": "string"
}

输出数据格式:

{
  "success": true,
  "data": {
    "tables": [
      {
        "raw_name": "t_user_base_01",
        "fields": [
          {
            "raw_name": "user_id",
            "type": "varchar(64)",
            "comment": ""
          }
        ]
      }
    ],
    "total_tables": 10
  }
}

1.2 SQL 脚本结果解析服务

功能描述: 解析 IT 执行 SQL 脚本后导出的 Excel/CSV 结果文件

涉及页面: InventoryStep.vue - 方案二IT 脚本提取)

Python 开发任务:

  • SQL 结果解析接口 (/api/v1/inventory/parse-sql-result)
    • Excel/CSV 文件解析
    • 提取表名、字段名、字段类型等信息

技术栈:

  • pandas (CSV/Excel 解析)

工作量评估: 2 人日

  • 接口开发: 1 人日
  • 数据验证和清洗: 1 人日

输入数据格式:

{
  "file_path": "string",
  "file_type": "excel | csv",
  "project_id": "string"
}

输出数据格式: 同 1.1


1.3 业务表导入解析服务

功能描述: 解析业务人员手动导出的核心业务表Excel/CSV

涉及页面: InventoryStep.vue - 方案三(业务关键表导入)

Python 开发任务:

  • 业务表解析接口 (/api/v1/inventory/parse-business-tables)
    • 批量文件解析
    • 表结构识别

技术栈:

  • pandas (批量文件处理)

工作量评估: 3 人日

  • 批量文件处理: 2 人日
  • 异常处理和进度反馈: 1 人日

输入数据格式:

{
  "files": ["file_path1", "file_path2", ...],
  "project_id": "string"
}

输出数据格式: 同 1.1


1.4 数据资产智能识别服务 核心功能

功能描述: 使用大模型识别数据资产的中文名称、业务含义、PII 敏感信息、重要数据特征

涉及页面: InventoryStep.vue - AI 盘点处理阶段

Python 开发任务:

  • AI 智能识别接口 (/api/v1/inventory/ai-analyze)
    • 表名和字段名中文命名识别
    • 业务含义描述生成
    • PII个人信息识别
    • 重要数据识别(符合《数据安全法》)
    • 置信度评分

大模型技术:

  • 模型选择: 推荐使用通义千问、文心一言或 GPT-4
  • 提示词工程: 需要设计专业的提示词模板
  • 少样本学习: 提供示例数据提升识别准确率

工作量评估: 15 人日

  • 大模型集成和调用: 3 人日
  • 提示词工程设计和优化: 5 人日
  • PII 识别规则引擎: 3 人日
  • 重要数据识别规则引擎: 2 人日
  • 置信度评分算法: 1 人日
  • 单元测试和调试: 1 人日

输入数据格式:

{
  "tables": [
    {
      "raw_name": "t_user_base_01",
      "fields": [
        {
          "raw_name": "user_id",
          "type": "varchar(64)",
          "comment": "用户ID"
        },
        {
          "raw_name": "phone",
          "type": "varchar(11)",
          "comment": "手机号"
        }
      ]
    }
  ],
  "project_id": "string",
  "industry": "string",  // 行业信息
  "context": "string"    // 业务背景信息
}

输出数据格式:

{
  "success": true,
  "data": {
    "tables": [
      {
        "raw_name": "t_user_base_01",
        "ai_name": "会员基础信息表",
        "desc": "存储C端注册用户的核心身份信息",
        "fields": [
          {
            "raw_name": "user_id",
            "ai_name": "用户ID",
            "desc": "用户的唯一标识符"
          },
          {
            "raw_name": "phone",
            "ai_name": "手机号",
            "desc": "用户的联系电话",
            "pii": ["手机号"],
            "pii_type": "contact"
          }
        ],
        "pii": ["手机号"],
        "important": false,
        "confidence": 98,
        "ai_completed": true
      }
    ],
    "processing_time": 5.2
  }
}

提示词模板设计要点:

  1. 系统提示词: 定义 AI 角色为"数据资产管理专家"
  2. 用户提示词: 包含表结构信息、行业背景、业务上下文
  3. 约束条件:
    • PII 识别必须符合《个人信息保护法》(PIPL)
    • 重要数据识别必须符合《数据安全法》
    • 置信度评分需考虑字段命名规范度、注释完整性等因素
  4. 少样本学习: 提供 5-10 个典型示例

模块二:场景挖掘智能推荐服务

2.1 潜在场景推荐服务

功能描述: 基于企业背景、数据资产清单和存量场景,使用 AI 推荐潜在的数据应用场景

涉及页面: ValueStep.vue - AI 推荐潜在场景清单

Python 开发任务:

  • 场景推荐接口 (/api/v1/value/scenario-recommendation)
    • 基于企业行业、数据资产、存量场景生成推荐场景
    • 场景分类(降本增效、营销增长、金融服务、决策支持等)
    • 推荐指数评分1-5星
    • 场景依赖分析(依赖哪些数据资产)

大模型技术:

  • 模型选择: 通义千问 / 文心一言 / GPT-4
  • 提示词工程: 需要设计场景推荐的提示词模板

工作量评估: 12 人日

  • 大模型集成和调用: 2 人日
  • 提示词工程设计和优化: 4 人日
  • 场景分类和评分算法: 3 人日
  • 场景依赖关系分析: 2 人日
  • 单元测试和调试: 1 人日

输入数据格式:

{
  "project_id": "string",
  "company_info": {
    "industry": ["retail-fresh"],
    "description": "某连锁生鲜零售企业...",
    "data_scale": "100TB",
    "data_sources": ["self-generated"]
  },
  "data_assets": [
    {
      "name": "会员基础信息表",
      "core_tables": ["Dim_Customer"],
      "description": "存储C端注册用户的核心身份信息"
    }
  ],
  "existing_scenarios": [
    {
      "name": "月度销售经营报表",
      "description": "统计各区域门店的月度GMV"
    }
  ]
}

输出数据格式:

{
  "success": true,
  "data": {
    "recommended_scenarios": [
      {
        "id": 1,
        "name": "精准会员营销",
        "type": "营销增长",
        "recommendation_index": 5,
        "desc": "基于用户画像与历史交易行为,实现千人千面的优惠券发放。",
        "dependencies": ["会员基础信息表", "订单流水记录表"],
        "business_value": "提升复购率 15-20%",
        "implementation_difficulty": "中等"
      }
    ],
    "total_count": 10
  }
}

提示词模板设计要点:

  1. 分析企业行业特点和数据资产价值
  2. 参考存量场景,避免重复推荐
  3. 推荐场景需具有可操作性和商业价值
  4. 推荐指数需综合考虑业务价值、实施难度、数据准备度等因素

2.2 存量场景优化建议服务

功能描述: 基于存量场景信息和截图,生成优化建议

涉及页面: ContextStep.vue - 生成场景挖掘与优化建议按钮

Python 开发任务:

  • 场景优化建议接口 (/api/v1/value/scenario-optimization)
    • 分析存量场景的不足
    • 提供优化建议和改进方向
    • 识别可提升的价值点

大模型技术:

  • 支持图片识别(如果上传了场景截图)
  • 文本分析和建议生成

工作量评估: 8 人日

  • 大模型集成: 2 人日
  • 图片识别集成OCR: 2 人日
  • 提示词工程: 2 人日
  • 建议生成算法: 1 人日
  • 测试: 1 人日

输入数据格式:

{
  "existing_scenarios": [
    {
      "name": "月度销售经营报表",
      "description": "统计各区域门店的月度GMV维度单一",
      "image_url": "string"  // 可选,场景截图
    }
  ],
  "data_assets": [...],
  "company_info": {...}
}

输出数据格式:

{
  "success": true,
  "data": {
    "optimization_suggestions": [
      {
        "scenario_name": "月度销售经营报表",
        "current_status": "维度单一仅统计GMV",
        "suggestions": [
          "增加时间维度分析(同比、环比)",
          "增加商品类别维度分析",
          "增加区域对比分析"
        ],
        "potential_value": "提升决策支持能力 30%"
      }
    ]
  }
}

模块三:数据资产盘点报告生成服务 核心功能

3.1 完整报告生成服务

功能描述: 基于数据盘点结果、背景调研信息和价值挖掘场景,使用大模型生成完整的数据资产盘点工作总结报告

涉及页面: DeliveryStep.vue - 成果交付页面

Python 开发任务:

  • 报告生成接口 (/api/v1/delivery/generate-report)
    • 生成报告四个章节的完整内容
    • 支持分阶段生成(可选)
    • 报告内容验证和格式化

大模型技术:

  • 模型选择: 推荐使用 GPT-4 或通义千问 Max支持长文本生成
  • 提示词工程: 需要设计复杂的多章节报告生成提示词
  • 分阶段生成: 建议分阶段生成以提高质量和可控性

工作量评估: 20 人日

  • 大模型集成和长文本生成: 4 人日
  • 提示词工程(四个章节): 8 人日
  • 报告结构化生成和格式化: 3 人日
  • 数据验证和合规性检查: 3 人日
  • 分阶段生成策略实现: 1 人日
  • 单元测试和调试: 1 人日

输入数据格式:

{
  "project_id": "string",
  "project_info": {
    "project_name": "数据资产盘点项目",
    "industry": "retail-fresh",
    "company_name": "某连锁生鲜零售企业"
  },
  "inventory_data": {
    "total_tables": 14582,
    "total_fields": 245000,
    "total_data_volume": "58 PB",
    "storage_distribution": [
      {
        "category": "供应链物流",
        "volume": "25.4 PB",
        "storage_type": "HDFS / NoSQL"
      }
    ],
    "data_source_structure": {
      "structured": 35,
      "semi_structured": 65
    },
    "identified_assets": [
      {
        "name": "消费者全景画像",
        "core_tables": ["Dim_Customer", "Fact_Sales"],
        "description": "客户维度表与销售事实表整合"
      }
    ]
  },
  "context_data": {
    "enterprise_background": "某连锁生鲜零售企业...",
    "informatization_status": "使用金蝶云星空作为核心ERP...",
    "business_flow": "数据流贯穿研发、生产、物流与销售全链路..."
  },
  "value_data": {
    "selected_scenarios": [
      {
        "name": "精准会员营销",
        "description": "基于用户画像实现精准营销"
      }
    ]
  },
  "options": {
    "language": "zh-CN",
    "detail_level": "standard"
  }
}

输出数据格式:

{
  "success": true,
  "data": {
    "header": {
      "project_name": "数据资产盘点项目"
    },
    "section1": {
      "enterprise_background": {
        "description": "某连锁生鲜零售企业..."
      },
      "informatization_status": {
        "overview": "集团采取混合云战略...",
        "private_cloud": {
          "title": "私有云部署:保障安全与性能",
          "description": "承载核心稳态业务系统..."
        },
        "public_cloud": {
          "title": "公有云部署:利用弹性计算能力",
          "description": "承载面向消费者的电商前台..."
        }
      },
      "business_data_flow": {
        "overview": "集团的数据流贯穿研发、生产、物流与销售全链路...",
        "manufacturing": {
          "title": "制造端",
          "description": "通过工业物联网IIoT网关..."
        },
        "logistics": {
          "title": "物流端",
          "description": "车载 GPS、手持 PDA..."
        },
        "retail": {
          "title": "零售端",
          "description": "记录全渠道交易流水..."
        },
        "data_aggregation": {
          "title": "数据汇聚",
          "description": "上述数据最终汇聚于基于 Greenplum..."
        }
      }
    },
    "section2": {
      "summary": {
        "total_data_volume": "58 PB",
        "total_data_objects": {
          "tables": "14,582 张表",
          "fields": "24.5万+ 字段"
        }
      },
      "storage_distribution": [
        {
          "category": "供应链物流",
          "volume": "25.4 PB",
          "storage_type": "主要存储于 HDFS / NoSQL",
          "color": "blue"
        }
      ],
      "data_source_structure": {
        "structured": {
          "percentage": 35,
          "description": "主要是数据库表,价值密度高"
        },
        "semi_structured": {
          "percentage": 65,
          "description": "包含 IoT 日志、文档 (PDF)、影像等,存在巨大的挖掘潜力"
        }
      }
    },
    "section3": {
      "overview": {
        "asset_count": 2,
        "high_value_assets": ["供应链动态库存模型", "消费者全景画像"],
        "description": "本次盘点重点识别出 2项具备价值的数据资产..."
      },
      "assets": [
        {
          "id": "customer360",
          "title": "消费者全景画像",
          "subtitle": "Customer 360",
          "composition": {
            "description": "核心依赖 Dim_Customer客户维度表与 Fact_Sales销售事实表...",
            "core_tables": ["Dim_Customer", "Fact_Sales"]
          },
          "application_scenarios": {
            "description": "旨在构建 OneID 体系支持计算客户生命周期价值CLV..."
          },
          "compliance_risks": {
            "warnings": [
              {
                "type": "个人信息预警",
                "content": "共识别出 12 项敏感个人信息SPI包含生物识别信息人脸...",
                "highlights": ["12 项", "敏感个人信息", "SPI"]
              },
              {
                "type": "去标识化风险",
                "content": "Dim_Customer 表中的手机号和身份证号部分字段未进行脱敏处理...",
                "highlights": ["Dim_Customer", "手机号", "身份证号", "脱敏处理"]
              }
            ]
          }
        }
      ]
    },
    "section4": {
      "compliance_remediation": {
        "title": "合规整改",
        "items": [
          {
            "order": 1,
            "category": "跨境传输",
            "description": "针对涉及重要数据和超过 100 万人个人信息的出境场景,立即申报数据出境安全评估...",
            "code_references": ["重要数据", "个人信息"]
          }
        ]
      },
      "technical_evolution": {
        "title": "技术演进",
        "description": "建议从星型架构向湖仓一体 (Data Lakehouse) 架构演进...",
        "technologies": ["Iceberg", "Hudi"]
      },
      "value_deepening": {
        "title": "价值深化",
        "items": [
          {
            "description": "建议优先对全链路库存优化场景进行深入加工,利用机器学习算法...",
            "scenarios": ["全链路库存优化"]
          }
        ]
      }
    }
  },
  "metadata": {
    "generation_time": 25.3,
    "model_used": "gpt-4",
    "token_count": 8500
  }
}

提示词模板设计要点:

  1. 系统提示词: 定义 AI 角色为"数据资产管理咨询专家"
  2. 分阶段生成策略:
    • 阶段一: 生成章节一和章节二(基于盘点数据)
    • 阶段二: 生成章节三(基于识别的数据资产,重点合规风险分析)
    • 阶段三: 生成章节四(基于前面章节的分析结果)
  3. 约束条件:
    • 统计数据必须准确,基于输入数据
    • 合规风险分析必须符合 PIPL、数据安全法等法规
    • 专家建议必须具体、可执行
    • 文本长度和格式要求
  4. 质量保证:
    • 数据验证百分比总和为100%等)
    • 合规性验证(风险分析完整性)
    • 文本质量检查(专业术语使用)

参考文档: 详见 docs/数据资产盘点报告-大模型接口设计文档.md


📈 工作量汇总表

模块 功能 工作量(人日) 优先级 备注
模块一:数据盘点智能分析
1.1 文档解析服务 5 Excel/Word/PDF 解析
1.2 SQL 结果解析服务 2 Excel/CSV 解析
1.3 业务表导入解析服务 3 批量文件处理
1.4 数据资产智能识别服务 15 核心功能,大模型
小计 25
模块二:场景挖掘智能推荐
2.1 潜在场景推荐服务 12 大模型
2.2 存量场景优化建议服务 8 大模型 + OCR
小计 20
模块三:报告生成服务
3.1 完整报告生成服务 20 核心功能,大模型
小计 20
总计 65 人日

🔧 技术架构建议

3.1 大模型选择建议

场景 推荐模型 理由
数据资产识别 通义千问 / GPT-4 需要准确理解表结构和业务含义
场景推荐 通义千问 / 文心一言 需要理解业务场景和价值
报告生成 GPT-4 / 通义千问 Max 需要生成长文本,质量要求高

3.2 技术栈建议

# 核心依赖
fastapi>=0.104.0          # Web 框架
pydantic>=2.0.0           # 数据验证
openai>=1.0.0             # OpenAI API (如果使用 GPT)
dashscope>=1.14.0         # 通义千问 API
qianfan>=0.1.0            # 文心一言 API

# 文档处理
pandas>=2.0.0             # 数据处理
openpyxl>=3.1.0           # Excel 处理
python-docx>=1.1.0        # Word 处理
pdfplumber>=0.10.0        # PDF 处理(如需要)

# 图片处理OCR
paddlepaddle>=2.5.0       # PaddleOCR
paddleocr>=2.7.0          # OCR 库(如需要)

# 工具库
python-dotenv>=1.0.0      # 环境变量管理
loguru>=0.7.0             # 日志管理
redis>=5.0.0              # 缓存(可选)
celery>=5.3.0             # 异步任务(可选)

3.3 接口设计规范

  • RESTful API 设计: 遵循 REST 规范
  • 统一响应格式: 所有接口返回统一格式
  • 错误处理: 完善的错误码和错误信息
  • 日志记录: 记录所有 API 调用和异常
  • 限流和熔断: 防止大模型 API 调用过多导致成本过高

⚠️ 注意事项和风险

4.1 大模型 API 调用成本

  • Token 消耗: 长文本生成会消耗大量 Token需要优化提示词
  • API 限流: 注意各大模型 API 的调用频率限制
  • 成本控制: 建议实现缓存机制,相同输入复用结果

4.2 数据隐私和安全

  • 敏感信息处理: 确保输入数据中的敏感信息不会泄露
  • 数据脱敏: 在调用大模型 API 前,对敏感数据进行脱敏处理
  • API 密钥管理: 使用安全的密钥管理方案

4.3 质量保证

  • 提示词优化: 需要反复测试和优化提示词,提升生成质量
  • 数据验证: 对 AI 生成的内容进行验证,确保准确性
  • 人工审核: 对于重要内容(如合规风险分析),建议加入人工审核环节

4.4 性能优化

  • 异步处理: 对于耗时的 AI 分析任务,使用异步处理
  • 流式输出: 对于长文本生成,考虑实现流式输出,提升用户体验
  • 缓存策略: 对相同输入进行缓存,避免重复调用

📅 开发计划建议

阶段一MVP 版本4 周)

目标: 实现核心功能,支持基本的数据盘点和报告生成

任务清单:

  1. 文档解析服务1.1, 1.2, 1.3- 10 人日
  2. 数据资产智能识别服务1.4- 15 人日
  3. 完整报告生成服务3.1- 20 人日(简化版)

交付物: 可用的数据盘点和报告生成功能

阶段二完善版本3 周)

目标: 完善场景推荐功能,优化 AI 生成质量

任务清单:

  1. 潜在场景推荐服务2.1- 12 人日
  2. 存量场景优化建议服务2.2- 8 人日
  3. 报告生成质量优化 - 5 人日

交付物: 完整的场景推荐和优化建议功能

阶段三优化版本2 周)

目标: 性能优化、质量提升、用户体验优化

任务清单:

  1. 提示词优化和 A/B 测试
  2. 缓存机制实现
  3. 异步处理和流式输出
  4. 单元测试和集成测试

交付物: 高性能、高质量的完整系统


📝 接口文档模板

示例:数据资产智能识别接口

from fastapi import FastAPI, UploadFile, File
from pydantic import BaseModel
from typing import List, Optional

app = FastAPI()

class FieldInfo(BaseModel):
    raw_name: str
    type: str
    comment: Optional[str] = ""

class TableInfo(BaseModel):
    raw_name: str
    fields: List[FieldInfo]

class AnalyzeRequest(BaseModel):
    tables: List[TableInfo]
    project_id: str
    industry: Optional[str] = None
    context: Optional[str] = None

class AnalyzeResponse(BaseModel):
    success: bool
    data: Optional[dict] = None
    error: Optional[dict] = None

@app.post("/api/v1/inventory/ai-analyze", response_model=AnalyzeResponse)
async def ai_analyze(request: AnalyzeRequest):
    """
    数据资产智能识别接口
    
    使用大模型识别数据资产的中文名称、业务含义、PII 敏感信息、重要数据特征
    """
    try:
        # 1. 构建提示词
        prompt = build_analyze_prompt(request.tables, request.industry, request.context)
        
        # 2. 调用大模型 API
        result = await call_llm_api(prompt)
        
        # 3. 解析和验证结果
        analyzed_data = parse_llm_response(result)
        validated_data = validate_analysis_result(analyzed_data)
        
        return AnalyzeResponse(success=True, data=validated_data)
    except Exception as e:
        return AnalyzeResponse(
            success=False,
            error={"code": "ANALYZE_ERROR", "message": str(e)}
        )

🔗 相关文档


📞 联系方式

如有疑问或需要技术支持,请联系:

  • Python 技术负责人: [待填写]
  • 大模型技术顾问: [待填写]
  • 项目负责人: [待填写]

📅 更新记录

版本 日期 更新内容 作者
v1.0 2025-01-XX 初始版本创建 AI Assistant

待办事项

  • 确认大模型 API 选择(通义千问 / 文心一言 / GPT-4
  • 设计详细的提示词模板
  • 确认数据格式和接口规范
  • 搭建开发环境和测试环境
  • 制定详细的开发计划和时间表
  • 确定成本预算(大模型 API 调用费用)