Langchain-Chatchat
Langchain-Chatchat copied to clipboard
使用多进程并行导入多个PDF文件,并提升paddleorc识别效果
原项目导入文件时是单进程,在导入多个文件时顺序执行,排队时间较长。使用多进程并行处理,能有效提升导入效率。 增加了 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")
导入文件应该是用不到chatglm模型的,如果能将这部分拆分开(应该是在chains/local_doc_qa.py的初始化部分),就能在不影响前端服务的情况下进行数据批量导入
目前,暂时没有开发该功能的计划,该PR关闭,感谢你的支持