netease-youdao / QAnything

Question and Answer based on Anything.
https://qanything.ai
Apache License 2.0
10.67k stars 1.03k forks source link

PdfLoader失败,显示ocr的模型权重加载失败 #400

Open bill4689 opened 1 month ago

bill4689 commented 1 month ago

from qanything_kernel.utils.loader.self_pdf_loader import PdfLoader pdf_loader = PdfLoader(filename='tables/table-03d9ec345317b0115180d7dbcf843ef6.pdf') markdown_directory = pdf_loader.load_to_markdown() print(f"Markdown文件在: {markdown_directory}")

➜ QAnything python QAnything_ocr.py LOCAL DATA PATH: /mnt/user/QAnything-qanything-python/QAnything/QANY_DB/content LOCAL_RERANK_REPO: netease-youdao/bce-reranker-base_v1 LOCAL_EMBED_REPO: netease-youdao/bce-embedding-base_v1 Traceback (most recent call last): File "/mnt/user/QAnything-qanything-python/QAnything/QAnything_ocr.py", line 6, in pdf_loader = PdfLoader(filename='tables/table-03d9ec345317b0115180d7dbcf843ef6.pdf') File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/self_pdf_loader.py", line 14, in init super().init() File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/core/parser/pdf_parser.py", line 34, in init self.layouter = LayoutRecognizer("layout") File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/core/vision/layout_recognizer.py", line 20, in init super().init(self.labels, domain, model_dir) File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/core/vision/recognizer.py", line 28, in init self.ort_sess = ort.InferenceSession(model_file_path, providers=['CPUExecutionProvider']) File "/mnt/user/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in init self._create_inference_session(providers, provider_options, disabled_optimizers) File "/mnt/user/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 472, in _create_inference_session sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model) onnxruntime.capi.onnxruntime_pybind11_state.InvalidProtobuf: [ONNXRuntimeError] : 7 : INVALID_PROTOBUF : Load model from /mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/checkpoints/layout/layout.onnx failed:Protobuf parsing failed. 尝试过的onnxruntime版本如下: onnxruntime==1.17.1 onnxruntime-gpu==1.17.1 onnxruntime==1.18.0 onnxruntime-gpu==1.18.0

191611 commented 3 weeks ago

可能是模型文件损坏,或下载的是指针文件?我用魔塔的python重下了一遍就好了

zhudongwork commented 3 weeks ago

from qanything_kernel.utils.loader.self_pdf_loader import PdfLoader pdf_loader = PdfLoader(filename='tables/table-03d9ec345317b0115180d7dbcf843ef6.pdf') markdown_directory = pdf_loader.load_to_markdown() print(f"Markdown文件在: {markdown_directory}")

➜ QAnything python QAnything_ocr.py LOCAL DATA PATH: /mnt/user/QAnything-qanything-python/QAnything/QANY_DB/content LOCAL_RERANK_REPO: netease-youdao/bce-reranker-base_v1 LOCAL_EMBED_REPO: netease-youdao/bce-embedding-base_v1 Traceback (most recent call last): File "/mnt/user/QAnything-qanything-python/QAnything/QAnything_ocr.py", line 6, in pdf_loader = PdfLoader(filename='tables/table-03d9ec345317b0115180d7dbcf843ef6.pdf') File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/self_pdf_loader.py", line 14, in init super().init() File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/core/parser/pdf_parser.py", line 34, in init self.layouter = LayoutRecognizer("layout") File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/core/vision/layout_recognizer.py", line 20, in init super().init(self.labels, domain, model_dir) File "/mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/core/vision/recognizer.py", line 28, in init self.ort_sess = ort.InferenceSession(model_file_path, providers=['CPUExecutionProvider']) File "/mnt/user/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 419, in init self._create_inference_session(providers, provider_options, disabled_optimizers) File "/mnt/user/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 472, in _create_inference_session sess = C.InferenceSession(session_options, self._model_path, True, self._read_config_from_model) onnxruntime.capi.onnxruntime_pybind11_state.InvalidProtobuf: [ONNXRuntimeError] : 7 : INVALID_PROTOBUF : Load model from /mnt/user/QAnything-qanything-python/QAnything/qanything_kernel/utils/loader/pdf_to_markdown/checkpoints/layout/layout.onnx failed:Protobuf parsing failed. 尝试过的onnxruntime版本如下: onnxruntime==1.17.1 onnxruntime-gpu==1.17.1 onnxruntime==1.18.0 onnxruntime-gpu==1.18.0

跑通了不,有没有遇到Error in Powerful PDF parsing: max() arg is an empty sequence

xeon-ye commented 2 weeks ago

代码:import os

from qanything_kernel.utils.loader.self_pdf_loader import PdfLoader file_path = "C:/home/QAnything/example/test.pdf" loader = PdfLoader(filename=file_path,binary=None, save_dir=os.path.dirname(file_path)) md = loader.load_to_markdown() print(md) 输出: LOCAL DATA PATH: C:\home\QAnything\QANY_DB\content LOCAL_RERANK_REPO: netease-youdao/bce-reranker-base_v1 LOCAL_EMBED_REPO: netease-youdao/bce-embedding-basev1 table model initing... cpu table model inited... WARNING:root:Miss outlines 23it [00:00, ?it/s] 2024-06-25 15:20:41,009 Start OCR! 2024-06-25 15:20:41,012 OCR finished in 2.0259380000061356 seconds preprocess preprocess 23it [00:00, 11515.94it/s] **### 2024-06-25 15:20:43,110 Error in Powerful PDF parsing: max() arg is an empty sequence_** 2024-06-25 15:20:43,112 PDF Parse finished in 2.0993914999999106 seconds C:/home/QAnything/example\test_md\test.md