4.7 KiB
4.7 KiB
接口开发说明 - 完整报告生成接口 ⭐⭐⭐
📋 接口基本信息
- 接口路径:
/api/v1/delivery/generate-report - 请求方法:
POST - 接口功能: 基于数据盘点结果、背景调研信息和价值挖掘场景,使用大模型生成完整的数据资产盘点工作总结报告(四个章节)
- 涉及页面:
DeliveryStep.vue- 成果交付页面 - 是否涉及大模型: ✅ 是(核心功能)
- 工作量评估: 20 人日
- 优先级: 高
🎯 功能描述
该接口是数据资产盘点系统的核心输出功能,使用大模型生成完整的工作总结报告,包含四个章节:
- 章节一: 企业数字化情况简介(企业背景、信息化建设现状、业务流与数据流)
- 章节二: 数据资源统计(数据总量、存储分布、数据来源结构)
- 章节三: 数据资产情况盘点(资产构成、应用场景、合规风险提示)
- 章节四: 专家建议与下一步计划(合规整改、技术演进、价值深化)
支持功能:
- 分阶段生成: 支持分阶段生成,提高质量和可控性
- 内容验证: 验证统计数据逻辑正确性(如百分比总和为100%)
- 合规性检查: 验证合规风险分析的完整性
- 格式化输出: 返回结构化的 JSON 格式
📥 请求格式
{
"project_id": "project_001",
"project_info": {
"project_name": "数据资产盘点项目",
"industry": "retail-fresh",
"company_name": "某连锁生鲜零售企业"
},
"inventory_data": {
"total_tables": 14582,
"total_fields": 245000,
"total_data_volume": "58 PB",
"storage_distribution": [...],
"data_source_structure": {
"structured": 35,
"semi_structured": 65
},
"identified_assets": [...]
},
"context_data": {
"enterprise_background": "...",
"informatization_status": "...",
"business_flow": "..."
},
"value_data": {
"selected_scenarios": [...]
},
"options": {
"language": "zh-CN",
"detail_level": "standard",
"generation_mode": "full | staged"
}
}
📤 响应格式
详见《数据资产盘点报告-大模型接口设计文档.md》中的详细响应格式定义。
💻 实现要点
1. 分阶段生成策略(推荐)
# 阶段一:生成章节一和章节二
stage1_result = await generate_sections_1_2(inventory_data, context_data)
# 阶段二:生成章节三(重点合规风险分析)
stage2_result = await generate_section_3(identified_assets, stage1_result)
# 阶段三:生成章节四(基于前面章节的分析结果)
stage3_result = await generate_section_4(stage1_result, stage2_result, value_data)
2. 数据验证
def validate_report_data(report_data: dict) -> bool:
"""验证报告数据"""
# 验证百分比总和为100%
section2 = report_data.get("section2", {})
structured = section2.get("data_source_structure", {}).get("structured", {}).get("percentage", 0)
semi_structured = section2.get("data_source_structure", {}).get("semi_structured", {}).get("percentage", 0)
if structured + semi_structured != 100:
raise ValueError("数据来源结构百分比总和必须为100%")
# 验证合规风险分析完整性
section3 = report_data.get("section3", {})
assets = section3.get("assets", [])
for asset in assets:
if not asset.get("compliance_risks", {}).get("warnings"):
logger.warning(f"资产 {asset.get('title')} 缺少合规风险分析")
return True
3. 提示词模板
详见《数据资产盘点报告-大模型接口设计文档.md》中的提示词工程设计方案。
⚠️ 注意事项
- 长文本生成: 需要使用支持长文本的模型(GPT-4 / 通义千问 Max)
- Token 消耗: 报告生成会消耗大量 Token,需要优化提示词
- 数据准确性: 统计数据必须准确,基于输入数据
- 合规性: 合规风险分析必须符合 PIPL、数据安全法等法规
- 建议可操作性: 专家建议必须具体、可执行
📝 开发检查清单
- 大模型集成(GPT-4 / 通义千问 Max)
- 分阶段生成策略实现
- 四个章节的提示词工程
- 数据验证引擎
- 合规性验证
- 错误处理和重试机制
- 缓存机制(可选)
- 日志记录
- 单元测试
🔗 相关文档
- 数据资产盘点报告-大模型接口设计文档 - 详细设计文档
- 接口清单表格
- Python技术人员工作量文档