模型权重:镜像站,原站点
原GitHub:GOT-OCR2.0
这个项目是在 Windows 下开发的,我本人没用过也不会 Linux,不能确保它能够在 Linux 下正常运行,如果你要在 Linux
下部署,可以参考一下这个 issue
部分代码来自: GLM4 、Deepseek
点个star吧
-
⚠️ 支持llama-cpp-python
,希望能够加速推理 - 遇到困难,有能力的可以提交 pr,最好可以提到
Aplha
分支;使用的 HuggingFace 模型是 kaifeise/GOT-gguf;GGUF Test.py
使用了来自 1694439208/GOT-OCR-Inference 的代码 。文件都在gguf
文件夹里了) - html 转 word 功能,保留公式可以编辑
- 目前想到两个方法,一个是先转 PDF 然后 PDF 转 Word,但这样太慢,因为要用 selenium 打开浏览器去渲染 PDF;另一个是
pdflatex
,但是这样就要再装一个 TeX 发行版,我看了一下 TexLive ,又是好几个 GB。感觉这两个方法都不太行。不知道有没有人有更好的方法?
如果这里面提到的文件夹你没有,那就新建一个
此环境在python 3.11.9下经过测试能够正常工作
从torch官网选择适合自己的GPU版本的torch安装即可
我用的是 Stable 2.4.1 + cu124 ,建议你也用这个版本
不是强制要求,不过如果你想安装的话可以看#12
实测如果直接从requirements.txt
里安装的话会报ModuleNotFoundError: No module named 'frontend'
,但单独安装的话就不会这样,具体原因不清楚
另外,如果还是报ModuleNotFoundError
的话就先卸载fitz
和PyMuPDF
,再重新安装一次应该能解决,实测pip install -U PyMuPDF
是没用的
pip install fitz
pip install PyMuPDF
pip install -r requirements.txt
另,有人提到了自己使用requirements.txt
安装依赖时出现了冲突问题,但我这里没有发现问题,pipdeptree
也没有显示任何冲突项,requirements.txt
是直接pip freeze
的我自己的虚拟环境的,按理来说应该没问题。
但由于确实出现了这样的问题,这里再提供一个不带版本号的requirements-noversion.txt
,你可以试试看:
更多信息请查看这个 issue #4
pip install -r requirements-noversion.txt
- Edge WebDriver
,下载压缩包,放进
edge_driver
文件夹中
大伙的电脑里应该都有 edge 吧?应该吧?这玩意可是预装的来着......
文件结构应该是:GOT-OCR-2-GUI └─edge_driver ├─msedgedriver.exe └─...
- 下载到
models
文件夹中 - 别少下载文件了
- 文件结构应该是:
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
- 如果你想用命令行,那就用
CLI.py
- 如果你想用图形界面,那就用
GUI.py
- 如果你想修改设置,那就用
Config Manager.py
- 如果你想执行自动化的渲染操作,那就用
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
来管理语言及其他配置文件
- 脚本闪退的话可以试一下用
cmd
跑python +文件名
,我自己测试时会出现闪退的情况,我也不知道为什么 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
查看更详细的帮助文档