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

853 lines
24 KiB
Markdown
Raw 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.

# 数据资源盘点系统 - 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 调用费用)