# 基于PP-ChatOCR实现的智能合同关键信息抽取分析系统 ## 1. 功能介绍 智能合同关键信息抽取分析系统是基于大宗商品供应链行业的智能分析系统,融合了LLM大模型+OCR技术,可实现多页pdf合同扫描件的关键信息抽取。 当前版本支持所有相关关键字段的信息抽取,包括:买方、卖方、签订地点、合同编号、签订日期、煤炭品种、交货期限、发货地址、托运人、发货人、运输方式、保证金、考核指标、买卖方联系人、联系电话等,其中关键字段高精度识别抽取准确率稳定超越98%,可直接应用于产业实践。 点击右上角`创建模型产线` 选择配置好的GPU、CPU环境,可以快速体验效果。 |<img src="https://data-mark.shdatalink.com/table/e2117907-7ec5-4a43-b85f-8fe0bd602369/2023-09-02/vc-upload-1693632979358-2.png" style="height: 250px" >| <img src="https://data-mark.shdatalink.com/table/e2117907-7ec5-4a43-b85f-8fe0bd602369/2023-09-02/vc-upload-1693632979358-3.png" style="height: 250px"> | | -- | -- | ## 2. 文档格式支持 目前支持pdf及多种图片格式文件识别。 ## 3. OCR合同识别技术支持 `智能合同关键信息抽取分析系统`选择了PP-OCRv4和文心大模型串联完成,PP-OCRv4是一个端到端的串联OCR系统,可实现CPU/GPU上的实时预测,在通用场景上达到开源SOTA的效果。文心大语言模型将海量数据和知识的融合,准确率高且应用广泛。 智能合同关键信息抽取分析系统的系统流程如下图所示:首先输入预测图片或pdf文档,通用OCR系统,获取图片或文档中全部的文字信息。将图片或文档中的文本信息与期望的信息提取指令,组合成适当的prompt送入大模型进行预测。最终对返回结果进行解析。 <img src="https://data-mark.shdatalink.com/table/e2117907-7ec5-4a43-b85f-8fe0bd602369/2023-09-02/vc-upload-1693632979358-4.png" style="height: 400px"> 智能合同关键信息抽取分析系统OCR阶段提供了server和mobile两种方案,默认使用server进行文字内容获取。当通用任务无法满足现有场景时,推荐基于自有数据进行模型训练。 ``` _REC_MODEL_LIST = ["ch_PP-OCRv4_rec", "ch_PP-OCRv4_rec_server"] _DET_MODEL_LIST = ["ch_PP-OCRv4_det", "ch_PP-OCRv4_det_server"] _INFER_MODEL_URL = { "ch_PP-OCRv4_rec": "https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_infer.tar", "ch_PP-OCRv4_det": "https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_infer.tar", "ch_PP-OCRv4_rec_server": "https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_server_infer.tar", "ch_PP-OCRv4_det_server": "https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_server_infer.tar" } ``` ## 4. 快速体验 智能合同关键信息抽取分析系统借助LLM通过恰当的提示词可引导大模型输出更加准确、安全、简洁的输出。智能合同关键信息抽取分析系统中提供了经过验证的Prompt,可以准确的提取文档中的关键信息。 在开发者模式中执行下列命令,可启动gradio界面进行验证: ``` bash prepare.sh python main.webui.gradio.py ``` ## 5.模型部署 本模型目前的部署支持情况如下: | 操作系统 | Windows | Windows | Windows | Windows | Linux | Linux | Linux | Linux | | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | | 部署硬件 | NV GPU | NV GPU | X86 CPU | X86 CPU | NV GPU | NV GPU | X86 CPU | X86 CPU | | 接口语言 | C++ | Python | C++ | Python | C++ | Python | C++ | Python | | 支持情况 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | 根据实际业务需求选择所需要的操作系统、部署硬件、接口语言等条件后,获取 FastDeploy 部署包,**完成之后到开发者模式下进行下载(文件右击选择下载即可)**,其中包括部署代码和预测模型。 最后就可以参考部署包里面的 README 使用说明,在目标硬件上进行部署啦。 **注意:如果需要手动更新预测模型,可以直接修改部署包中的预测模型。**