支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


在本地部署Qwen3大模型与Dify环境中亲测制作“合同审查智能体”应用

发布日期:2025-06-04 06:18:54 浏览次数: 2261 作者:架构面面观
推荐语

企业合同风险管理的智能解决方案,本地部署确保数据安全,个性化工作流满足多样化需求。

核心内容:
1. 企业对合同风险评估的迫切需求
2. 私有化部署和个性化工作流的优势与应用
3. 本地部署Qwen3大模型与Dify环境的实践操作

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

在与多位律师朋友以及自己开公司的老板朋友聊天中发现,他们都有一个迫切的需求:“希望对自己手头的大量合同文本,做一个全面的合同风险评估,提前采取措施规避风险点,或者提前准备以应对风险的爆发,并减少损失。”因此,在私有化部署的大模型与AI应用开发平台中开发本地可用的“合同审查智能体”,就像给企业装了一个既聪明又可靠的“法律秘书”。

想象一下,公司的合同就像家里的贵重物品。如果使用网上的大模型和类似DeepSeek、豆包等AI助手,虽然方便,但总担心数据泄密。私有化部署相当于把合同锁进自家保险柜(企业本地服务器,甚至就是一台配了独立显卡的笔记本电脑),钥匙只有自己保管。这能有效避免合同里的客户隐私或商业机密数据泄露的风险,还能满足像GDPR这种“国际防盗锁”的合规要求。

况且,每个企业的合同审核需求不同,就像不同病人需要不同的药方。通过dify的工作流功能,企业可以像搭积木一样定制审核流程。比如:像“预检分诊”一样挑出合同里的问题条款,引用法律条文,并给出专业化修改建议;还能让系统自动翻译合同,为中小外贸企业提升效率。当然,AI存在“幻觉”问题,适当的人工复核是必要的。

接下来,我们就看看通过Ollama软件本地部署并运行Qwen3(30b多模态版本:300亿模型参数量),配合本地Docker容器环境运行的Dify软件,来快速开发一个“合同审查智能体”。

一、智能体开发环境:

老规矩,说一下环境的版本号:

本地模型运行环境:Ollama v0.7.0版本(从0.6.8版本在线升级);

本地推理模型:qwen3:30b(因为Ollama0.6.8版本不兼容刚推出的qwen3:30b-a3b-q4_K_M模型版本,害得我还消耗流量重新下载了19GB模型一遍);

智能体开发运行环境:Dify v1.3.1;(写本文时,v1.4.0已经在推送了,但先不忙升级,让子弹再飞一会儿)

二、准备测试用途合同样本

特别注意啊,智能体能检测的合同文档格式如下:

文档中的主体都是虚构的名称,如有雷同,纯属巧合。

三、Dify中安装插件“Markdown转换器”

光看“Markdown转换器”的介绍,大家肯定会疑惑:“不是都建议把其他格式转成Markdown格式,以便于大模型理解吗?为何要把Markdown格式转为pptx、word等其他格式呢?”其实“Markdown转换器”(v1.2)是用在输出大模型的结论文本,输出为便于人类阅读和存档用途,就是最后的输出内容以pdf和word文档的格式提供下载。

四、Dify中创建工作流应用

首先在Dify中创建一个“空白应用”,选择“工作流”模式。

1、开始节点的设置

开始节点的“输入字段”位置添加4个变量作为下一个节点的输入:

(1).“文件列表”变量:“字段类型”选择“文件列表”,变量名称只能用英文和数字,随便起个名叫“upload”,显示名称可以用中文,就叫“文件列表”。此处用于上传合同文件本身。

(2).“审查主体”变量:“字段类型”选择“文本”,变量名称叫“Apart”,显示名称叫“审查主体”。此处让大模型知道要站在合同中哪一方的立场去分析问题规避风险。

(3).“工作领域”变量:“字段类型”选择“文本”,变量名称叫“workfiled”,显示名称“工作领域”。此处让MoE多模态大模型知道调用哪个内置专家来解决问题。

(4).“合同要点”变量:“字段类型”选择“文本”,变量名称叫“attention”,显示名称“合同要点”。此处是说本次合同文本的分析要重点关注哪些问题。

这4个方面的输入应该涵盖合同审查时最关键的四个方面的注意事项。

文件列表变量截图:

审查主体变量截图:
工作领域变量截图:
合同要点变量截图:

这里有个坑,Dify里面节点的“文本”变量的“最大长度”默认设置为48(意味着输入的文本Tokens字数不能超过48)。而合同文本一般较长,我就碰见个坑,默认48,读取合同时系统报错,这里修改为最大值“256”。

2、下一节点“LLM”的设置

LLM主要对合同审核要点进行解释,翻译为大模型能够理解的机器语言,此处填写到“SYSTEM”中的提示词如下:


{{开始节点的attention}}将用户的要求或关注点转换为具体的合同审查要点,并输出为提示词中的attention


此处注意:提示词最前面的函数是输入“{”大括号或者“/”斜杠来引入的。主要是提取开始节点的“合同要点”变量,作为Qwen3模型运算的输入值。

3、“文档提取器”提取合同文件内容

“文档提取器”节点在输入变量位置选择提取开始节点的“文件列表”变量,主要是提取上传的合同文件内容。

特别注意,“文档提取器”支持的文件上传格式为:txt、markdown、mdx、pdf、html、xlsx、xls、docx、csv、vtt、properties、md、htm。我选择上传docx文档。

4、下一节点“LLM2”的设置

这是主流程处理节点,在“上下文”处提取“LLM节点的输出函数,并在SYSTEM输入提示词如下:


# 角色:

你是一位专业的律师,执业领域是{{开始节点的workfiled}}

# 任务:

你要以{{开始节点的Apart}}利益最大化为原则,对{{上下文}}进行审查和分析,并提供严格的评分。具体目标:

1.对提交的合同文本进行全面审查,指出存在的问题和风险;

2.提供具体的改进建议,帮助改进和完善合同条款;

3.根据法律规范和个人建议,修改并完善合同的具体条款:

4.向客户提供专业的法律服务和支持。

# 约束条件:

1.必须遵守现行有效的法律法规,不能引用已废止的法律条文;

2.所有合同条款的设计应当符合最新的法律法规及相关政策的规定,要使用准确无误的专业术语和地名:

3.结合特定行业的特点(如XXX行业),确保合同内容贴合实际情况。

4,考虏并反映 {{开始节点的Apart}}的需求,始终站在其角度满足利益最大化。


这个“上下文”,是打一个英文的{,这样就能引用出来了。

5、将输出内容进行“Markdown转换pdf”的设置

从LLM2添加下一个节点,选择工具,下一步选择markdown转换器节点:

第一个“Markdown转换pdf”节点设置如下:

第二个“Markdown转换docx”节点设置如下:

都是将“LLM2节点的输出内容作为最终分析报告的内容填入PDF和WORD文档中。

6、添加结束节点,并设置变量:

结束节点需添加3种输出,一个是“审核结果”直接输出文字,另外两个分别输出为PDF文档和WORD文档,可以下载。

dify创建工作流“合同审查智能体”到这边就结束了。

五、运行测试

开始测试时,需要分别输入4种变量。

“合同要点”输入为:“重点关注合同主体合法性与授权范围的潜在风险,服务范围需要明确,避免模糊条款,以及约定服务范围变更的流程与机制”

审查主体:噼里啪啦云

工作领域:软件服务

报错:

在“文档提取器”这里报错,说有非结构化的在upload里面。检查后,是“文档提取器”本身不支持.doc文件的提取。需要变更上传的文档格式为.docx!

经上述修改后,该dify应用流程运行成功。获得期望输出:

运行结束后可以下载相应的文件查看效果。

输出的docx格式和pdf格式内容一致,界面截图如下:

Dify中整个智能体开发流程截图如下:

我的文章里面配的一步一步操作的截图比较多,内容稍微偏浅显易懂一点,主要是考虑到“工具就是拿来用的,越多普通人知道如何使用,才能提高效率”,会更多照顾到普通人的理解水平。各位技术大拿可忽略……

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询