完成时间: 2025-11-04 16:00
任务: 完善 Data-governance 工作流元数据管理功能
用户需求:
需要持续完善 Data-governance 工作流。当回答是的时候,需要有一个节点来提示用户输入元数据信息。并判断元数据中文名是否已经存在,如果不存在,则调用 192.168.3.143 上的接口记录这个元数据。
核心需求:
文件: app/api/meta_data/routes.py
接口: GET /api/meta/check
功能: 检查元数据中文名是否已存在
请求示例:
GET http://192.168.3.143:5000/api/meta/check?name_zh=用户姓名
响应示例:
{
"code": 200,
"data": {
"exists": true,
"name_zh": "用户姓名"
},
"msg": "查询成功"
}
实现代码:
@bp.route('/check', methods=['GET'])
def meta_check():
"""检查元数据中文名是否已存在"""
try:
name_zh = request.args.get('name_zh')
if not name_zh:
return jsonify(failed({}, "缺少name_zh参数"))
with neo4j_driver.get_session() as session:
cypher = """
MATCH (n:DataMeta {name_zh: $name_zh})
RETURN count(n) > 0 as exists
"""
result = session.run(cypher, name_zh=name_zh)
record = result.single()
if record:
exists = record["exists"]
logger.info(f"检查元数据 '{name_zh}': {'存在' if exists else '不存在'}")
return jsonify(success({
"exists": exists,
"name_zh": name_zh
}, "查询成功"))
else:
return jsonify(success({
"exists": False,
"name_zh": name_zh
}, "查询成功"))
except Exception as e:
logger.error(f"检查元数据失败: {str(e)}")
return jsonify(failed({}, f"检查失败: {str(e)}"))
特点:
工作流ID: tWfjLZE1FmMfQAIn
新系统消息:
你是一个专业的数据治理助手,负责帮助用户创建元数据。
工作流程:
1. 当用户表示需要创建元数据时,询问用户提供以下信息:
- 元数据中文名(必填)
- 数据类型(string/int/float/date等,默认string)
- 描述信息(选填)
2. 收集完信息后:
- 使用 check_metadata 工具检查元数据是否已存在
- 如果不存在,使用 create_metadata 工具创建
- 如果已存在,告诉用户该元数据已存在
3. 返回创建结果给用户
注意:
- 友好地引导用户提供信息
- 元数据中文名是必需的
- 如果元数据已存在,告诉用户并询问是否需要其他帮助
- 每次只处理一个元数据的创建
更新结果:
docs/n8n_improved_workflow_design.md
docs/n8n_add_tools_guide.md
docs/n8n_chat_trigger_error_diagnosis.md
N8N_WORKFLOW_SUMMARY.md (更新)
原因:
ai_tool 连接需要添加的 Tools:
配置:
check_metadatahttp://192.168.3.143:5000/api/meta/check?name_zh={{ $parameter.name_zh }}name_zh (元数据中文名)ai_tool 连接到 AI Agent配置:
create_metadatahttp://192.168.3.143:5000/api/meta/node/addname_zh, data_type, describe, source, statusname_zh, data_type, descriptionai_tool 连接到 AI Agent详细步骤: 参见 docs/n8n_add_tools_guide.md
预计时间: 15-20 分钟
步骤 1: 访问 https://n8n.citupro.com/chat/tWfjLZE1FmMfQAIn
步骤 2: 输入 "是,我要创建元数据"
预期: AI 询问元数据信息
步骤 3: 输入 "中文名:测试字段001,类型:string,描述:测试字段"
预期:
- AI 调用 check_metadata 检查
- 元数据不存在
- AI 调用 create_metadata 创建
- 返回成功消息
验收: ✅ 元数据成功创建,可在 Neo4j 中查询到
步骤 1: 输入 "是,我要创建元数据"
步骤 2: 输入 "中文名:测试字段001,类型:string"
预期:
- AI 调用 check_metadata 检查
- 发现元数据已存在
- AI 提示用户该元数据已存在
- 询问是否需要其他帮助
验收: ✅ 未重复创建,友好提示
步骤 1: 输入 "是,我要创建元数据"
步骤 2: 输入 "类型是 string"
预期:
- AI 识别信息不完整
- 提示需要提供中文名(必填)
验收: ✅ 友好提示缺少必填信息
步骤: 断开 192.168.3.143 网络
预期:
- Tool 调用失败
- AI 友好提示用户服务暂时不可用
验收: ✅ 错误处理正确
选择的方案: LangChain AI Agent + HTTP Request Tools
优势:
工作流程:
用户输入
↓
Chat Trigger
↓
AI Agent (DeepSeek)
├─ 分析用户意图
├─ 提取参数信息
├─ 决定调用哪个工具
↓
工具层
├─ check_metadata Tool → GET /api/meta/check
└─ create_metadata Tool → POST /api/meta/node/add
↓
API 层 (192.168.3.143)
├─ Neo4j 查询
└─ Neo4j 创建
↓
AI Agent 处理响应
↓
返回用户
LangChain Tools
@n8n/n8n-nodes-langchain.toolHttpRequestai_tool 连接类型连接到 AI Agent参数提取
data_type || 'string')错误处理
原因:
ai_tool 连接类型解决方案:
docs/n8n_add_tools_guide.md 文档经验:
原因:
解决方案:
经验:
AI Agent 系统消息设计
Tool Description 编写
API 设计
效率提升:
用户体验:
数据质量:
架构示范:
扩展性:
可维护性:
添加更多元数据字段
增强验证规则
批量操作
元数据管理扩展
数据标准制定
数据质量检查
智能推荐
工作流编排
可视化分析
docs/n8n_add_tools_guide.mddocs/n8n_improved_workflow_design.mddocs/n8n_chat_trigger_error_diagnosis.mdN8N_WORKFLOW_SUMMARY.md如遇问题或需要协助,请查阅以上文档或联系项目团队。
后端开发: ✅ 完成
工作流设计: ✅ 完成
文档编写: ✅ 完成
手动配置指南: ✅ 完成
待用户操作:
预计总工作量:
完成日期: 2025-11-04
版本: v1.0
状态: ✅ 后端和设计完成,等待前端配置