QAnything [BUG] 在尝试单独使用PdfLoader时出现问题

ffvjumwh  于 3个月前  发布在  其他
关注(0)|答案(8)|浏览(105)

是否已有关于该错误的issue或讨论? | Is there an existing issue / discussion for this?

  • 我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions

该问题是否在FAQ中有解答? | Is there an existing answer for this in FAQ?

  • 我已经搜索过FAQ | I have searched FAQ

当前行为 | Current Behavior

我在self_pdf_loader.py中添加了几行代码,用于测试解析pdf的效果。但是遇到了检索不到checkpoints的问题。
Traceback (most recent call last):
File "c:\Users\Administrator\Desktop\QAnything-1.4.1\qanything_kernel\core\test.py", line 203, in
loader = PdfLoader(filename=file_path, root_dir=os.path.dirname(file_path))
File "c:\Users\Administrator\Desktop\QAnything-1.4.1\qanything_kernel\utils\loader\self_pdf_loader.py", line 14, in init
super().init()
File "c:\Users\Administrator\Desktop\QAnything-1.4.1\qanything_kernel\utils\loader\pdf_to_markdown\core\parser\pdf_parser.py", line 34, in init
self.layouter = LayoutRecognizer("layout")
File "c:\Users\Administrator\Desktop\QAnything-1.4.1\qanything_kernel\utils\loader\pdf_to_markdown\core\vision\layout_recognizer.py", line 20, in init
super().init(self.labels, domain, model_dir)
File "c:\Users\Administrator\Desktop\QAnything-1.4.1\qanything_kernel\utils\loader\pdf_to_markdown\core\vision\recognizer.py", line 21, in init
raise ValueError("not find model file path {}".format(
ValueError: not find model file path c:\Users\Administrator\Desktop\QAnything-1.4.1\qanything_kernel\utils\loader\pdf_to_markdown\checkpoints\layout\layout.onnx

期望行为 | Expected Behavior

  • 无响应*

运行环境 | Environment

- OS:
- NVIDIA Driver:
- CUDA:
- docker:
- docker-compose:
- NVIDIA GPU:
- NVIDIA GPU Memory:

QAnything日志 | QAnything logs

  • 无响应*

复现方法 | Steps To Reproduce

  • 无响应*

备注 | Anything else?

  • 无响应*
5tmbdcev

5tmbdcev1#

请下载modelscope上的pdf解析器相关检查点:[https://www.modelscope.cn/models/netease-youdao/QAnything-pdf-parser/files]

uemypmqf

uemypmqf2#

Please download the pdf parser related checkpoints in modelscope [https://www.modelscope.cn/models/netease-youdao/QAnything-pdf-parser/files]
好的十分感谢,另外是不是Qanything无法处理没有文本元素的pdf啊,我截了一张图进行解析,发现有报错。如果是这样那它里面的ocr的意义是什么呢,是解析表格?

quhf5bfb

quhf5bfb3#

请下载模型scope中的pdf解析器相关检查点:https://www.modelscope.cn/models/netease-youdao/QAnything-pdf-parser/files

关于您的问题,Qanything确实可以处理没有文本元素的PDF。报错信息显示,在计算页面宽度时,传入了一个空序列。这可能是由于PDF中没有文本元素导致的。OCR(光学字符识别)的意义在于从图像中提取文本信息,而不是解析表格。您可以尝试使用其他PDF解析库,如pdfplumber,来解决这个问题。

kkih6yb8

kkih6yb84#

请在modelscope[https://www.modelscope.cn/models/netease-youdao/QAnything-pdf-parser/files]下载与PDF解析器相关的检查点。

好的,非常感谢。另外,Qanything是否无法处理没有文本元素的PDF?我截了一张图进行解析,发现有报错。如果是这样,那它里面的OCR的意义是什么呢?是解析表格吗?

OCR模块由于处理速度较慢而被移除,目前只能处理可解析的PDF文件。未来将通过一个切换开关添加对基于图像的PDF文件扫描的支持。

yv5phkfx

yv5phkfx5#

请在modelscope[https://www.modelscope.cn/models/netease-youdao/QAnything-pdf-parser/files]下载与PDF解析器相关的检查点。

好的,非常感谢。另外,Qanything是否无法处理没有文本元素的PDF?我截了一张图进行解析,发现有报错。如果是这样,那它里面的OCR的意义是什么呢?是解析表格吗?

OCR模块由于处理速度较慢而被移除,目前只能处理可解析的PDF文件。未来将通过切换开关添加对基于图像的PDF文件的支持。

好的,好的,非常感谢。既然不会OCR PDF,那感觉可以把PDF Loader里面的OCR相关的东西先去掉,不然很迷惑人哈哈哈,明明都输出OCR finished了,但是实际上却没有OCR。

vlf7wbxs

vlf7wbxs6#

\n\n同感,上传一个单层PDF只有图片就悲剧了。Box找不到直接报错,跟代码发现没有OCR。

gev0vcfq

gev0vcfq7#

请下载模型scope中的pdf解析器相关检查点:https://www.modelscope.cn/models/netease-youdao/QAnything-pdf-parser/files

关于您的问题,QAnything确实可以处理没有文本元素的PDF。报错信息显示,在计算页面宽度时,传入了一个空序列。这可能是由于PDF中的文本框数量为0导致的。您可以尝试使用其他PDF解析库,如pdfplumber,来解决这个问题。以下是使用pdfplumber的示例代码:

import pdfplumber

with pdfplumber.open("your_pdf_file.pdf") as pdf:
    first_page = pdf.pages[0]
    text = first_page.extract_text()
    print(text)

这段代码将打开名为"your_pdf_file.pdf"的文件,提取第一页的文本内容,并打印出来。如果您需要处理多页PDF,可以使用类似的方法遍历所有页面。

zmeyuzjn

zmeyuzjn8#

同感。上传一个单层PDF只有图片就悲剧了,box找不到直接报错,跟代码发现没有OCR。可以使用ocrmypdf处理pdf。

相关问题