# 数据资源盘点系统 - 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 人日 **输入数据格式**: ```json { "file_path": "string", // 上传文件路径 "file_type": "excel | word | pdf", "project_id": "string" } ``` **输出数据格式**: ```json { "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 人日 **输入数据格式**: ```json { "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 人日 **输入数据格式**: ```json { "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 人日 **输入数据格式**: ```json { "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" // 业务背景信息 } ``` **输出数据格式**: ```json { "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 人日 **输入数据格式**: ```json { "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" } ] } ``` **输出数据格式**: ```json { "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 人日 **输入数据格式**: ```json { "existing_scenarios": [ { "name": "月度销售经营报表", "description": "统计各区域门店的月度GMV,维度单一", "image_url": "string" // 可选,场景截图 } ], "data_assets": [...], "company_info": {...} } ``` **输出数据格式**: ```json { "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 人日 **输入数据格式**: ```json { "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" } } ``` **输出数据格式**: ```json { "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 技术栈建议 ```python # 核心依赖 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. ✅ 单元测试和集成测试 **交付物**: 高性能、高质量的完整系统 --- ## 📝 接口文档模板 ### 示例:数据资产智能识别接口 ```python 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)} ) ``` --- ## 🔗 相关文档 - [数据资产盘点报告-大模型接口设计文档](./数据资产盘点报告-大模型接口设计文档.md) - [前端开发规范](./前端开发规范.md) - [Vue 迁移完整方案](./Vue迁移完整方案.md) --- ## 📞 联系方式 如有疑问或需要技术支持,请联系: - **Python 技术负责人**: [待填写] - **大模型技术顾问**: [待填写] - **项目负责人**: [待填写] --- ## 📅 更新记录 | 版本 | 日期 | 更新内容 | 作者 | |------|------|---------|------| | v1.0 | 2025-01-XX | 初始版本创建 | AI Assistant | --- ## ✅ 待办事项 - [ ] 确认大模型 API 选择(通义千问 / 文心一言 / GPT-4) - [ ] 设计详细的提示词模板 - [ ] 确认数据格式和接口规范 - [ ] 搭建开发环境和测试环境 - [ ] 制定详细的开发计划和时间表 - [ ] 确定成本预算(大模型 API 调用费用)