Langchain-Chatchat icon indicating copy to clipboard operation
Langchain-Chatchat copied to clipboard

使用多进程并行导入多个PDF文件,并提升paddleorc识别效果

Open 0000sir opened this issue 1 year ago • 1 comments

原项目导入文件时是单进程,在导入多个文件时顺序执行,排队时间较长。使用多进程并行处理,能有效提升导入效率。 增加了 load.py 文件,可在后台导入,不使用web界面,方便大量文件操作。唯一的问题是在已运行的web环境中,使用load.py导入时,会重复引用chatglm模型,导致显存不足。我个人的方案是单独运行一个不执行web环境的容器,用来做数据导入。

使用方法: python3 load.py --path 文件目录(也可是单个文件) --base 知识库名称(不支持中文)

注意: paddleocr的模型需要提前下载并放到 loader/pdf_loader.py 中指定的目录

ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=False, show_log=False,
                            det_model_dir="/modules/PaddleOCRModels/ch_PP-OCRv3_det_infer",
                            cls_model_dir="/modules/PaddleOCRModels/ch_ppocr_mobile_v2.0_cls_infer",
                            rec_model_dir="/modules/PaddleOCRModels/ch_PP-OCRv3_rec_infer")

0000sir avatar Jun 06 '23 05:06 0000sir

导入文件应该是用不到chatglm模型的,如果能将这部分拆分开(应该是在chains/local_doc_qa.py的初始化部分),就能在不影响前端服务的情况下进行数据批量导入

0000sir avatar Jun 06 '23 05:06 0000sir

目前,暂时没有开发该功能的计划,该PR关闭,感谢你的支持

zRzRzRzRzRzRzR avatar Nov 19 '23 03:11 zRzRzRzRzRzRzR