dify合同审查

一、工作流搭建

这个工作流用到了markdown转换器工具,我们按照上面的操作把工具安装好。

image

 

从github上下载通用合同审查助手的DSL文件

image

开始节点中我们这里有4个参数。

1、请上传需要审查的文本。

2、请选择合同审查主体

3、工作领域

4、合同审查要点

image

 

合同审查llm 系统提示词
 ## Role: 
律师({{#1740449748004.workfield#}})
 
## Profile:
- language: 中文
- description: 你是一个律师,以{{#1740449748004.Apart#}}利益最大化为原则,对{{#context#}}进行审查分析, 给出评分和改进建议,帮助用户改进和完善合同。
 
## Goals:
- 对输入的合同文本审查分析后,指出合同的问题和存在的风险
- 对于改进和完善合同,给出建议
- 根据建议,修改具体的条款
- 给{{#1740449748004.Apart#}}提供专业的法律服务
 
## Constrains:
- 要依据正在适用的法律,不能引用废止的法律条文
- 合同条款约定应当符合最新法律法规及相关政策要求
- 专用名称地点应当准确
- 要结合IT系统集成和IT运维服务的行业,不能随意编造法律条文
- 要结合{{#1740449748004.Apart#}}的要求,站在{{#1740449748004.Apart#}}的立场
- 要做出有利于{{#1740449748004.Apart#}}的条款
- 对于{{#1740449748004.Apart#}}不利的条款,要及时指出
- 对于显著偏向于{{#1740449748004.Apart#}}的不公平条款,需要与对方充分协商
 
## Skills:
- 熟悉中国的法律,并能熟练引用法律
- 法律专业技能非常强,熟悉诉讼的程序和流程
- 经验非常丰富,擅长处理各种纠纷
- 对于IT系统集成和IT运维服务行业非常了解
- 团队配合能力强,组织团队为{{#1740449748004.upload#}}服务
- 熟练使用各种软件,效率非常高
 
## attention
{{#1740449748004.attention#}}

## example
该份合同存在的问题:
-1.
-2.
对客户不利的条款:
-1. { };解释原因:
-2. { };解释原因:
 
修改的建议:
-1.
-2.
-3.
-4.
N
 
 
修改的具体条款:
-将“xxx条款”修改为“ ”
-将“xxx条款”修改为“ ”
-将“xxx条款”修改为“ ”
 
 
## output format:
该份合同存在的问题:
-1.
-2.
对客户不利的条款:
-1. { };解释原因:
-2. { };解释原因:
 
修改的建议:
-1.
-2.
-3.
-4.
N
 
 
修改的具体条款:
-将“xxx条款”修改为“ ”
-将“xxx条款”修改为“ ”
-将“xxx条款”修改为“ ”
 

该工作流主要是2个LLM语言模型和1个文档提取器,另外2个markdown转PDF和转WORD插件工具组成。

二、配置 UNSTRUCTURED_API_URL 的解决方案

2.1 解决方案概述

Unstructured.io 提供了一个强大的文档解析 API,支持多种文件格式,包括 .doc、.docx、.pdf 等。通过本地部署 Unstructured API 服务,并将其集成到 Dify 中,可以完美解决 Dify 原生不支持 .doc 文件的问题。

2.2 k8s部署Unstructured镜像

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: unstructured
spec:
  replicas: 1
  # 添加选择器
  selector:
    matchLabels:
      app: unstructured
  template:
    metadata:
      # 添加标签,与选择器匹配
      labels:
        app: unstructured
    spec:
      containers:
      - name: unstructured
        image: registry.cn-shanghai.aliyuncs.com/gongzb/unstructured:latest
        env:
        - name: SCARF_NO_ANALYTICS
          value: "true"
        - name: HF_ENDPOINT
          value: "https://hf-mirror.com"
        volumeMounts:
        - mountPath: /app/data
          name: data
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: unstructured-pvc
---
# unstructured-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: unstructured
spec:
  ports:
  - port: 8000
    targetPort: 8000
  selector:
    app: unstructured
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: unstructured-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

2.3 配置 Dify 使用 Unstructured API

修改 Dify 的配置文件 (通常是 .env 文件),修改以下配置:

# ETL 类型,支持:`dify`、`Unstructured`ETL_TYPE=Unstructured
# Unstructured API 地址和 API key 本地部署API key 可以随便填,并且必须填
UNSTRUCTURED_API_URL=http://unstructured:8000/general/v0/general
UNSTRUCTURED_API_KEY=
SCARF_NO_ANALYTICS=true

三、修改超时时间

通过迭代地编写和输出一个长文档,测试在布局页上成功执行,但在发布后,用户页上没有输出结果,导致错误:由于超时,结果未显示。请参考日志以获取完整的结果。

image

 

image

1.调整超时设置:您可以在TEXT_GENERATION_TIMEOUT_MS文件中修改.env,以增加文本生成过程的超时时间。默认是60秒,但您可能需要将其延长以适应更长的处理时间
2.检查工作进程配置:确保您的工作进程没有由于超时而过早终止。您可能需要调整GUNICORN_TIMEOUT设置,其默认值为200秒,但建议值为360秒以处理更长的任务
3.速率限制:如果您使用的是外部嵌入服务,请确保您没有达到速率限制,这可能会导致超时。实现速率限制或退避策略可能会有所帮助
TEXT_GENERATION_TIMEOUT_MS: "600000"
GUNICORN_TIMEOUT: "360"

参考:https://juejin.cn/post/7498547313137467455

参考:https://blog.luckyits.com/post/14998/

 

posted @ 2025-08-14 09:53  有何m不可  阅读(587)  评论(0)    收藏  举报