昇腾社区首页
中文
注册
开发者
下载

类功能

功能描述

继承实现langchain_community.document_loaders.base.BaseLoader类和mx_rag.document.loader.BaseLoader类,执行pdf文档解析开启布局解析需要联网下载OCR模型,需保持网络通畅。使用第三方PaddleOCR,识别精确度依赖第三方OCR模型。传入视觉大模型对象可支持图片识别

函数原型

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

参数说明

参数名

类型

可选/必选

说明

file_path

str

必选

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

vlm

Img2TextLLM

可选

视觉大模型对象,可解析文档中的图片信息,具体可参见Img2TextLLM类

lang

Lang

可选

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

enable_ocr

bool

可选

是否调用OCR,若值为True,会使用OCR进行图片解析和表格信息解析,默认为False,即不解析图片。pdf中的图片像素长宽不能超过2048。

说明:

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

调用示例

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