打造自己的RAG解析大模型:(可商用)智能文档服务上线部署

通用版面分析介绍

版面解析是一种将文档图像转化为机器可读数据格式的技术,广泛应用于文档管理和信息提取等领域。通过结合OCR、图像处理和机器学习,版面解析能够识别文档中的文本块、图片、表格等版面元素,最终生成结构化数据,大大提高了数据处理的效率和准确性。典型的通用版面解析流程包括表格识别、版面区域分析、文本检测、公式识别等模块,帮助实现从简单文本到复杂文档的全面信息提取。这种技术为企业和数据密集型行业带来了显著的效益,提升了自动化文档处理的能力。

服务化部署

服务化部署是生产环境中高效、灵活的部署方式,通过将推理模型打包为独立服务,客户端可以通过网络请求访问,获取实时推理结果。这种方式不仅减少了部署难度,还使得模型的扩展和更新更加便捷,适合需求多变的业务场景。PaddleX 支持低成本地实现产线级服务化部署,用户可快速集成模型推理服务,从而满足多种应用需求。这种方式特别适合需要高可用性和可扩展性的场景,如智能客服、图像分析等。

服务化部署示例图:

在这里插入图片描述

用户可以灵活选择要发布的模型模块,这些模型会通过 HTTP 协议作为接口发布,实现服务化部署,便于应用端直接调用,完成文档识别和解析。这样不仅简化了模型集成的流程,还提升了系统的可扩展性。无论是文本识别、表格解析,还是版面分析等功能,都能以标准化的服务形式供前端调用,为业务系统提供更稳定、高效的文档处理能力。

服务发布具体步骤

1、安装服务化部署插件

执行如下指令,安装服务化部署插件:

paddlex --install serving

2、启动服务

通过 PaddleX CLI 启动服务,指令格式为:

paddlex --serve --pipeline {产线名称或产线配置文件路径} [{其他命令行选项}]

以通用版面解析产线为例:

paddlex --serve --pipeline layout_parsing

服务启动成功后,可以看到类似如下展示的信息:

INFO:     Started server process [63108]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)

–pipeline可指定为官方产线名称或本地产线配置文件路径。PaddleX 以此构建产线并部署为服务。 与服务化部署相关的命令行选项如下:

名称说明
--pipeline产线名称或产线配置文件路径。
--device产线部署设备。默认为 cpu(如 GPU 不可用)或 gpu(如 GPU 可用)。
--host服务器绑定的主机名或 IP 地址。默认为0.0.0.0。
--port服务器监听的端口号。默认为8080。
--use_hpip如果指定,则启用高性能推理插件。
--serial_number高性能推理插件使用的序列号。只在启用高性能推理插件时生效。请注意,并非所有产线、模型都支持使用高性能推理插件,详细的支持情况请参考PaddleX 高性能推理指南。
--update_license如果指定,则进行联网激活。只在启用高性能推理插件时生效。

至此通用版面解析的服务发布成功,发布URL如下:

http://localhost:8080/layout-parsing

应用集成

在成功发布模型服务后,接下来的关键任务是构建自定义的解析应用层。这个层级可以根据具体的业务需求,进一步处理模型返回的解析结果。通过应用级别的操作,我们可以更灵活地对文字和表格数据进行拆分、聚合等操作,特别是针对 RAG(检索增强生成)场景的需求,将数据转化为向量化存储格式。这种设计不仅提升了文档解析的精度和效率,还为业务场景提供了可扩展的、个性化的数据处理能力。

以下是Python语言实现的应用基础代码示例:

import base64
import requestsAPI_URL = "http://localhost:8080/layout-parsing" # 服务URL# 对本地图像进行Base64编码
with open(image_path, "rb") as file:image_bytes = file.read()image_data = base64.b64encode(image_bytes).decode("ascii")payload = {"file": image_data, # Base64编码的文件内容或者文件URL"fileType": 1,"useImgOrientationCls": True,"useImgUnwrapping": True,"useSealTextDet": True,
}# 调用API
response = requests.post(API_URL, json=payload)# 处理接口返回数据
assert response.status_code == 200
result = response.json()["result"]
print("\nDetected layout elements:")
for res in result["layoutParsingResults"]:for ele in res["layoutElements"]:print("===============================")print("bbox:", ele["bbox"])print("label:", ele["label"])print("text:", repr(ele["text"]))

这是一个简单的模型服务调用示例,而在实际的 RAG 系统中,我们会进一步优化这种服务调用方式。通常会设计一个独立的类来处理模型调用和结果解析,以实现解耦和模块化。这种封装方式不仅使代码更具可读性和可维护性,也更便于扩展多样化的业务场景。通过这样的架构设计,应用端可以灵活调用服务,适应更复杂的文档解析需求,并在业务逻辑上实现更高的自定义和优化。

总结

通过PaddleX快速发布模型,并构建集成系统,为RAG系统提供一套智能文档识别平台,是一个具有商业潜力的应用模式。这种模式不仅能提高信息处理效率,还能为不同行业提供个性化支持。然而,百度飞桨提供的通用模型可能无法覆盖各行各业的独特需求,因此企业可以利用飞桨平台的训练功能,基于自有数据进行模型微调或重训,以确保模型准确适配特定业务场景,实现更高的识别精度和服务价值。

参考文献:

https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/README.md

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】MySQL基础知识复习(下)

前言 上一篇博客介绍了MySQL的库操作,表操作以及CRUD。 【MySQL】MySQL基础知识复习(上)-CSDN博客 本篇将进一步介绍CRUD操作,尤其是查找操作 目录 一.数据库约束 1.约束类型 1.1NULL约束 1.2UNIQUE:唯一约束 …

新的服务器Centos7.6 安卓基础的环境配置(新服务器可直接粘贴使用配置)

常见的基础服务器配置之Centos命令 正常来说都是安装一个docker基本上很多问题都可以解决了,我基本上都是通过docker去管理一些容器如:mysql、redis、mongoDB等之类的镜像,还有一些中间件如kafka。下面就安装一个 docker 和 nginx 的相关配置…

性能测试|JMeter接口与性能测试项目

前言 在软件开发和运维过程中,接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用,被广泛用于进行各种性能测试,包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…

linux物理内存管理:node,zone,page

一、总览 对于物理内存内存,linux对内存的组织逻辑从上到下依次是:node,zone,page,这些page是根据buddy分配算法组织的,看下面两张图: 上面的概念做下简单的介绍: Node&#xff1a…

Pr:视频过渡快速参考(合集 · 2025版)

Adobe Premiere Pro 自带七组约四十多个视频过渡 Video Transitions效果,包含不同风格和用途,可在两个剪辑之间创造平滑、自然的转场,用来丰富时间、地点或情绪的变化。恰当地应用过渡可让观众更好地理解故事或人物。 提示: 点击下…

使用vscode 连接linux进行开发

1. 在Vscode中安装扩展功能remote ssh 2. 打开命令窗口 3. 在弹出的命令窗口输入ssh,并从弹出的提示中选择 Add New SSH Host 4. 在弹出的输入窗口中输入类似下面形式的 连接地址: 5. 输入回车后出现下面的对话框,这个对话框是说你要用哪个…

面试击穿mysql

Mysql三大范式: 第一范式(1NF): 不符合第一范式的典型情况是在一个字段中存放多种不同类型的详细信息。例如,在商品表中,若将商品名称、价格和类型都存储在同一个字段中,会带来诸多弊端。首先,在…

excel功能

统计excel中每个名字出现的次数 在Excel中统计每个名字出现的次数,您可以使用COUNTIF函数或数据透视表。以下是两种方法的详细步骤: 方法一:使用COUNTIF函数 准备数据:确保您的姓名列表位于一个连续的单元格区域,例如…

单体架构 IM 系统之长轮询方案设计

在上一篇技术短文(单体架构 IM 系统之核心业务功能实现)中,我们讨论了 “信箱模型” 在单体架构 IM 系统中的应用,“信箱模型” 见下图。 客户端 A 将 “信件” 投入到客户端 B 的 “信箱” 中,然后客户端 B 去自己的 …

webpack loader全解析,从入门到精通(10)

webpack 的核心功能是分析出各种模块的依赖关系,然后形成资源列表,最终打包生成到指定的文件中。更多复杂的功能需要借助 webpack loaders 和 plugins 来完成。 1. 什么是 Loader Loader 本质上是一个函数,它的作用是将某个源码字符串转换成…

web——sqliabs靶场——第一关

今天开始搞这个靶场,从小白开始一点点学习,加油!!!! 1.搭建靶场 注意点:1.php的版本问题,要用老版本 2.小p要先改数据库的密码,否则一直显示链接不上数据库 2.第一道题&#xff0…

Linux基础—网络设置

linux系统的网络设置 1、网络的基本设置 2、dhcp和ftp 3、nfs共享文件共享系统和ssh远程连接 4、dns解析 5、pxe自动装机(centos) 网络的基本设置 查看网络接口信息: ipaddr/ip a 简略的查看网络接口信息 ifconfig 表示只显示当前活跃的设备 ifc…

ST-GCN模型实现花样滑冰动作分类

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【基于CNN-RNN的影像报告生成】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

android studio 配置过程

Android studio版本:Android Studio Ladybug | 2024.2.1 windows 10 x64 关键问题解决方法: 1.设置代理: 退出首次配置,进入ide(必要时新建工程)然后: 然后重启ide 等待下载完成。 代理地…

关于分治法左右区间单调遍历应该如何设计

阅读以下文章,首先至少要求通过一道分治法的题目或听过一道该类型的讲解。 对于分治的题目,想必你应该知道,通常我们是对于一个区间拆分两个部分,而最小子问题通常是只包含一个元素的区间数组。为了后续方便处理更大范围的区间&am…

【软件测试】敏捷模型(Scrum模型)和V模型、W模型

敏捷模型 前面的那些模型以前非常流行,但现在开发人员在使用的时候会遇到各种问题。主要困难包括在项目开发期间处理来自客户的变更请求,以及合并这些变更所需要的高成本和时间。 在实际工作中,一款产品的功能是不断在变化的 所以为了克服这…

大数据新视界 -- 大数据大厂之 Impala 性能优化:数据加载策略如何决定分析速度(上)(15/30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

掌握核密度图:精准描绘不同年龄段的血糖分布

在医学研究中,数据的可视化是理解复杂信息和做出科学决策的关键。今天,我们将深入探讨一种强大的数据可视化工具——核密度图(Kernel Density Plot,简称KDE),并通过Python代码实例,展示如何基于…

实验室信息管理系统源码,医院LIS系统源码,C/S结构,C#语言开发,适合上项目。

实验室信息管理系统源码,医院LIS系统源码,三甲以下医院需求都能满足。 LIS系统即实验室信息管理系统。LIS系统能实现临床检验信息化,检验科信息管理自动化。其主要功能是将检验科的实验仪器传出的检验数据经数据分析后,自动生成打…

计算机在启动一直到系统加载完成期间进行了哪些操作

零 扇区和分区的概念与联系 概念 扇区(Sector): 扇区是硬盘中最小的物理存储单位,每个扇区通常为512字节(一些新硬盘为4KB)。硬盘在制造时会被划分成许多扇区,这些扇区在硬盘中依次排列。数据被…