类功能
功能描述
继承实现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))
父主题: PdfLoader类