昇腾社区首页
中文
注册

类功能

功能描述

继承实现langchain_community.document_loaders.base.BaseLoader,执行pdf文档解析开启布局解析需要联网下载OCR模型,需保持网络通畅。使用第三方PaddleOCR,识别精确度依赖第三方OCR模型。

函数原型

from mx_rag.document.loader import PdfLoader
PdfLoader(file_path, lang, layout_recognize)
# 参数枚举值
from mx_rag.utils.common import Lang
class Lang(Enum):
    EN: str = 'en'
    CH: str = 'ch'

参数说明

参数名

类型

可选/必选

说明

file_path

str

必选

pdf文档路径,路径长度取值范围为[1,1024],不能为软链接且不允许存在".."。文档页数≤1000页,文档大小≤100MB。

lang

Lang

可选

pdf文档文字类型,当前支持中文或英文(Lang.CH/Lang.EN),默认中文(Lang.CH)。

layout_recognize

bool

可选

是否使能pdf layout布局分析,使能之后才支持文档图片解析和表格信息解析,默认“False”,即不使能。pdf中的图片像素长宽不能超过2048。

说明:

当layout_recognize设置为“True”时,PaddleOCR会联网下载文件,本接口内部使用了pickle模块加载模型,可能存在恶意构造的文件在反序列化时带来安全风险,请确保加载的模型文件来自可信来源。

调用示例

from mx_rag.document.loader import PdfLoader
loader = PdfLoader("test.pdf")docs = loader.lazy_load()
print(list(docs))