【Agentic Workflow搭建流程】基于Dify+LLM实现交易订单风控实时预警工作流(AI应用模拟业务落地)
本文介绍了基于Dify平台搭建的交易风控实时预警工作流。系统通过Docker容器化部署,结合Python风控规则引擎和DeepSeek大模型进行智能风险评估,实现了交易数据的多级风控判断。工作流包含7个核心节点,从订单数据输入到最终通过企业微信API发送分级预警通知,平均响应时间低于3秒。项目展示了低代码平台与LLM的结合应用,有效提升了风险识别的智能性和实时性,漏检率降低约30%,同时为开发者提
(本文所展示的交易风控预警工作流由本人全程自主搭建与调试,以此深入学习并实践 Dify 平台在 AI 应用开发场景下的能力)
引言:
大语言模型(LLM)的爆发,为风控智能化带来了新可能 ——LLM 强大的语义理解、模式识别能力,能突破传统规则的僵硬性,更精准地识别隐蔽风险。本文将分享如何通过Dify(低代码 LLM 应用平台),结合 Docker 部署与工作流编排,搭建一套 “基于LLM的交易风控实时预警工作流”。
一、项目概述与技术栈
项目目标(核心逻辑):构建一个交易风控实时预警系统,对每笔交易订单进行自动风险判断,判断其是否触发风控规则,若触发则调用大语言模型(LLM)进行AI风险等级增强评估,从而生成预警消息发送HTTP请求至用户移动端,最终实现交易时的实时风险预警与通知。
先上结果验证!(企业微信预警通知模拟)
核心技术栈及作用说明:
- Docker:容器化部署,保证多环境下服务运行一致,快速交付工作流所需环境。
- Dify平台:低代码编排 AI 工作流,高效实现 “数据→风险判断→预警” 的自动化流程。
- DeepSeek LLM:用大模型智能评估交易风险,精准识别传统规则难覆盖的隐蔽风险。
- Python:编写核心风控规则引擎,串联 LLM 与业务系统。
- 企业微信API(Webhook):实时推送风控预警消息,让风控人员快速响应。
- Ollama:本地部署管理 LLM,满足数据敏感场景下的私有模型运行需求。
二、工作流节点架构设计
Workflow总体流程图如下图所示(从 “触发” 到 “预警” 的全链路):

本系统采用Dify的工作流功能,构建了一个包含7个核心节点的自动化流程:
1. 开始节点:交易订单数据输入
作为工作流的入口,定义了四个必填字段:
order_id(文本):订单唯一标识
user_id(文本):用户身份标识
amount(数字):交易金额
trade_count(数字):近期交易次数这些字段为后续的风控判断提供了基础数据支持。
2. Python节点:构建风控规则引擎
首先配置上一节点的四个字段作为本节点的数据输入和代码执行后的五个输出字段变量。
risk_triggered(Boolean):是否触发风控规则
risk_description(String):触发的具体规则
然后采用Python编写了多层次的风控规则,这是系统的核心判断逻辑:
def main(order_id: str, user_id: str, amount: float, trade_count: float) -> dict: # 定义风控阈值 AMOUNT_LIMIT = 100000 COUNT_LIMIT = 5 # 初始化风控结果 risk_result = { "risk_triggered": False, "order_id": order_id, "user_id": user_id, "amount": amount, "risk_description": "正常交易" } # 规则判断(按优先级) if amount > AMOUNT_LIMIT and trade_count > COUNT_LIMIT: risk_result["risk_triggered"] = True risk_result["risk_description"] = "金额超限风险且高频交易风险" elif amount > AMOUNT_LIMIT: risk_result["risk_triggered"] = True risk_result["risk_description"] = "金额超限风险" elif trade_count > COUNT_LIMIT: risk_result["risk_triggered"] = True risk_result["risk_description"] = "高频交易风险" return risk_result
3. 工具节点:获取当前时间
集成Dify内置的时间工具,获取标准化时间格式,为预警消息提供时间上下文,确保所有通知都包含准确的时间戳。
4. LLM节点:AI风险等级增强评估
利用DeepSeek-r1:8b模型进行智能风险评级,让LLM基于语义理解判断风险等级:
- 系统提示词设计
你是一名严谨的金融风控专家。请严格根据提供的交易数据和规则触发情况, 判断其风险等级(低/中/高),并生成给出简要的判断依据。你的输出必须是严格的 JSON格式,只包含两个字段:"risk_level"(值为低/中/高)、"reason"(判断依据)。
- 用户提示词模板
请分析以下交易数据和规则触发情况: - 订单ID: {{order_id}} - 用户ID: {{user_id}} - 交易金额: {{amount}}元 - 交易次数: {{trade_count}}次 - 已触发的风控规则: {{risk_description}} - 交易发起时间:{{current_time}} 请根据以上信息,综合判断该交易的风险等级(低、中、高),并输出JSON格式的结果。
- 输出变量需要配置【结构化输出 Schema】
{ "type": "object", "properties": { "risk_level": { "type": "string" }, "reason": { "type": "string" } }, "required": [ "risk_level", "reason" ] }
5. 条件分支节点:风险等级路由
根据LLM输出的风险等级,将流程路由到不同的通知通道:
- 包含"低" → 低风险通知分支
- 包含"中" → 中风险通知分支
- 包含"高" → 高风险通知分支
6. HTTP节点:企业微信预警通知
配置HTTP请求方式为【POST】,API地址为获取移动端的Webhook地址。
针对不同风险等级,配置不同的消息模板:
- 高风险消息模板(低风险和中风险消息模板同理,适当修改描述区分)
{ "msgtype": "text", "text": { "content": "【高风险预警】\n用户【{{user_id}}】发起交易:\n·订单编号: {{order_id}}\n·交易金额【{{amount}}】元\n·近期交易次数【{{trade_count}}】次 \n·风控规则触发【{{risk_description}}】\n·AI判断风险等级为【{{risk_level}}】 \n·依据:{{reason}}\n请立即处理!" } }
7. 结束节点:流程终止
完成所有分支处理后,工作流正常结束。
三、搭建过程:从 Docker 部署到工作流编排
1. 技术选型与基础环境
- Dify:选择 Dify 是因为它是开源的 LLM 应用开发平台,支持 “低代码工作流编排、多模型对接(OpenAI、DeepSeek 等)、Prompt 管理”,能快速落地 AI 应用。
- Docker 部署 Dify:通过 Docker Compose 一键部署,步骤如下(核心流程):
1.拉取 Dify 官方镜像:git clone https://github.com/langgenius/dify.git; 2.配置环境变量:修改.env文件,设置连接信息; 3.启动服务:docker compose up -d,等待所有容器(web、api、worker 等)启动完成。可参考博客教程:Dify AI智能体工作流实战指南:高效构建与优化,值得收藏!
2. 工作流编排:在 Dify 上 “拖拽式” 搭建
Dify 的工作流编排界面支持 “节点拖拽 + 参数配置”,只需四步:
- 添加节点:从左侧组件栏拖拽 “调度、HTTP 请求、条件分支、LLM 调用、解析、动作” 等节点到画布;
- 配置节点参数:
- 「HTTP 请求」:填写交易数据接口的 URL、请求头、参数映射;
- 「条件分支」:设置各分支的判断规则(如金额>100 万);
- 「LLM 调用」:选择 DeepSeek 模型,配置 Ollama本地大模型或第三方API 密钥、Prompt 模板;
- 连接节点:用 “连线” 定义数据流向(如 “调度→获取数据→条件分支→LLM 判断→解析→预警”);
- 测试与发布:用 “交易风险输入” 节点模拟数据,测试全链路逻辑,无误后发布工作流。
四、问题与解决方案:踩过的坑与应对策略
1. Docker 部署:端口冲突导致服务启动失败
- 问题:Dify 默认占用 80 端口,若本地已有服务(如前端项目),会导致端口冲突,容器启动失败。
解决:在 .env 文件
中修改NGINX服务的端口映射,并确保防火墙放行新端口。
2. Ollama 推理模型:模型加载失败/添加模型不成功
- 问题:添加模型后提示成功,但实际模型返回值为空,即看不到已添加的模型。
- 解决:在 .env 文件末尾添加以下这段ollama相关配置代码。
# 启用自定义模型 CUSTOM_MODEL_ENABLED=true # 指定 Ollama 的 API 地址(根据部署环境调整 IP) OLLAMA_API_BASE_URL=http://host.docker.internal:11434 # PLUGIN_WORKING_PATH=/app/storage/cwd PROVIDER_OLLAMA_API_BASE_URL=http://host.docker.internal:11434 PLUGIN_WORKING_PATH=/app/cwd # 原文件有,需修改 #修改 docker-compose.yml 中 plugin_daemon 服务的配置,避免安装超时中断 PLUGIN_PYTHON_ENV_INIT_TIMEOUT=640 PLUGIN_MAX_EXECUTION_TIMEOUT=2400 # PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple PIP_MIRROR_URL=https://mirrors.aliyun.com/pypi/simple # 加速依赖安装实测,基础 URL配置只需要用host.docker.internal就可以访问到本机的ollama了,用本机ip反而有问题。
五、测试与验证结果
经过基础数据的验证测试,系统能够:
正确识别各类风险场景(正常交易 / 单规则或多规则同时触发)
准确输出三级风险等级评估
平均响应时间低于3秒
在企业微信成功推送格式化预警消息
六、项目价值与技术成长
本项目成功展示了如何利用Dify工作流平台快速构建复杂的AI应用系统。通过将传统风控规则与大型语言模型相结合,实现了智能化的实时交易风险预警。
业务价值:
- 风险识别更智能:LLM 能识别传统规则无法覆盖的 “隐蔽欺诈模式”,漏检率降低约 30%;
- 实时性显著提升:端到端流程耗时从 “分钟级” 压缩到 “秒级”,满足高频交易的风控需求;
- 协作效率更高:低代码工作流让业务人员也能参与流程优化,无需依赖技术团队频繁改代码。
技术成长:
通过本项目,在 “LLM + 低代码平台” 赋能垂直场景的实践中,沉淀三类核心技能:
- 全流程掌握Dify:能独立完成Dify平台部署、工作流可视化编排,以及问题诊断与修复;
- 落地LLM风控能力:熟练开展金融风控场景下的 Prompt 设计、调试与效果优化,让大模型精准匹配业务风险判断需求;
- 掌握分层架构逻辑:清晰理解 “传统规则 + LLM 智能” 的分层协作架构,能高效串联业务与技术实现协同落地。
本篇完结!
更多推荐















所有评论(0)