Skip to content

GOT-OCR的GUI版本,提供OCR、导出PDF、批处理等功能,但不提供训练功能

License

Notifications You must be signed in to change notification settings

XJF2332/GOT-OCR-2-GUI

Repository files navigation

GOT-OCR-2-GUI

img.png

关于此项目

模型权重:镜像站原站点
原GitHub:GOT-OCR2.0
这个项目是在 Windows 下开发的,我本人没用过也不会 Linux,不能确保它能够在 Linux 下正常运行,如果你要在 Linux 下部署,可以参考一下这个 issue
部分代码来自: GLM4 Deepseek

点个star吧

待办

  • ⚠️支持llama-cpp-python,希望能够加速推理
  • 遇到困难,有能力的可以提交 pr,最好可以提到 Aplha 分支;使用的 HuggingFace 模型是 kaifeise/GOT-ggufGGUF Test.py 使用了来自 1694439208/GOT-OCR-Inference 的代码 。文件都在gguf 文件夹里了)
  • html 转 word 功能,保留公式可以编辑
  • 目前想到两个方法,一个是先转 PDF 然后 PDF 转 Word,但这样太慢,因为要用 selenium 打开浏览器去渲染 PDF;另一个是pdflatex ,但是这样就要再装一个 TeX 发行版,我看了一下 TexLive ,又是好几个 GB。感觉这两个方法都不太行。不知道有没有人有更好的方法?

使用方法

如果这里面提到的文件夹你没有,那就新建一个

依赖

此环境在python 3.11.9下经过测试能够正常工作

torch

torch官网选择适合自己的GPU版本的torch安装即可
我用的是 Stable 2.4.1 + cu124 ,建议你也用这个版本

FlashAttention

不是强制要求,不过如果你想安装的话可以看#12

PyMuPDF

实测如果直接从requirements.txt里安装的话会报ModuleNotFoundError: No module named 'frontend' ,但单独安装的话就不会这样,具体原因不清楚
另外,如果还是报ModuleNotFoundError的话就先卸载fitzPyMuPDF,再重新安装一次应该能解决,实测pip install -U PyMuPDF 是没用的

pip install fitz
pip install PyMuPDF

使用pip安装

pip install -r requirements.txt

另,有人提到了自己使用requirements.txt安装依赖时出现了冲突问题,但我这里没有发现问题,pipdeptree 也没有显示任何冲突项,requirements.txt是直接pip freeze的我自己的虚拟环境的,按理来说应该没问题。
但由于确实出现了这样的问题,这里再提供一个不带版本号的requirements-noversion.txt,你可以试试看: 更多信息请查看这个 issue #4

pip install -r requirements-noversion.txt

其他

大伙的电脑里应该都有 edge 吧?应该吧?这玩意可是预装的来着......
文件结构应该是:

GOT-OCR-2-GUI
└─edge_driver
   ├─msedgedriver.exe
   └─...

下载模型文件

  1. 下载到models文件夹中
  2. 别少下载文件了
  • 文件结构应该是:
GOT-OCR-2-GUI
└─models
   ├─config.json
   ├─generation_config.json
   ├─got_vision_b.py
   ├─model.safetensors
   ├─modeling_GOT.py
   ├─qwen.tiktoken
   ├─render_tools.py
   ├─special_tokens_map.json
   ├─tokenization_qwen.py
   └─tokenizer_config.json

开始使用

  1. 如果你想用命令行,那就用CLI.py
  2. 如果你想用图形界面,那就用GUI.py
  3. 如果你想修改设置,那就用Config Manager.py
  4. 如果你想执行自动化的渲染操作,那就用Renderer.py,它会自动渲染imgs文件夹里所有的.jpg.png图片

用 GUI 的可以不管,不过用 CLI 的各位记得把要OCR的图放进imgs文件夹里( CLI 目前只检测.jpg.png图片)

本地化支持

  • 你可以在Locales文件夹中找到各种语言的.json文件,CLI 和 GUI 的语言文件是分开存储的
  • gui子文件夹中,除了语言.json文件,还有一个instructions文件夹,里面是 GUI 的内置教程,命名为语言.md
  • 要修改语言支持,只需要修改config.json中的'language'的值,可用的选择就是语言.json的不带扩展名的文件名
  • 如果要添加语言支持,在 CLI 中,只需要添加新的语言.json(我强烈建议你使用已经存在的文件作为起点),在 GUI 中,还需要配套的语言.md文件
  • 你可以使用Config Manager.py来管理语言及其他配置文件

注意事项

  • 脚本闪退的话可以试一下用cmdpython +文件名,我自己测试时会出现闪退的情况,我也不知道为什么
  • result文件夹里的markdown-it.js不要删除,否则 pdf 导出会出错!

如果你不小心删除了,可以在scripts文件夹里找到备份,复制一份过去就行了

  • 确保你安装的torch是 gpu 版本,因为脚本里用了device_map='cuda'

错误码对照表

错误码 错误信息
1 配置文件未找到
2 语言文件未找到
3 CLI 不提供目录的支持
4 未找到输入路径所指向的文件
5 输入文件类型不受支持
6 渲染的HTML的编码检测失败

常见问题

  • Q:CLI.py: error: the following arguments are required: --path/-P

  • A:用 PowerShell,CMD 不知道为什么会有这个 bug,暂时找不到原因

  • Q:什么是“HTML本地文件”?难道还有没保存在本地的HTML文件吗?

  • A:因为模型输出的HTML文件虽然保存在本地,但使用了外部脚本,因此即使文件在本地,还是需要网络来打开它。于是我把外部脚本下载了进来,就是前面提到的 mardown-it.js。这么做主要是防止网络问题造成的PDF导出失败。

  • Q:为什么我的模型加载失败了?

  • A:检查一下你是不是少了文件。从百度云下载的模型文件似乎缺少了文件,我建议你去前面提到的 Huggingface 下载。

  • Q:有什么部署这个项目的建议吗?

  • A:看这个issue #5

  • Q:我要去哪里看帮助文档?

  • A:对于 GUI 用户,你可以找到说明标签页,对于 CLI 用户,你可以用.\CLI.py --help查看 argparse 自动生成的帮助文档,也可以用.\CLI.py --detailed-help查看更详细的帮助文档

Star History

Star History Chart

About

GOT-OCR的GUI版本,提供OCR、导出PDF、批处理等功能,但不提供训练功能

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages