llm_aided_ocr适配昇腾开源验证任务心得

举报
gll 发表于 2024/11/29 14:37:47 2024/11/29
【摘要】 Llm_aided_ocr是一个基于LLM的OCR扫描PDF开源工具,旨在通过利用多模态大语言模型(LLM)将原始的OCR扫描PDF文本转换成高准确度、格式正确且易于阅读的Markdown文档。首先将PDF文件转图像,进行OCR扫描处理提取文本,再利用本地LLM或API(如OpenAI)纠正OCR错误,最后转换成高准确度、高质量的Markdown文本。

llm_aided_ocr适配昇腾开源验证任务心得

首先看了一下任务计划书:https://bbs.huaweicloud.com/blogs/437820主要目的是 llm_aided_ocr项目适配至华为的 Ascend(昇腾)处理器,确保其在这硬件平台上的高效运行,也就是说验证llm_aided_ocr能不能在 Ascend(昇腾)处理器中运行。

介绍

Llm_aided_ocr是一个基于LLMOCR扫描PDF开源工具,旨在通过利用多模态大语言模型(LLM)将原始的OCR扫描PDF文本转换成高准确度、格式正确且易于阅读的Markdown文档。首先将PDF文件转图像,进行OCR扫描处理提取文本,再利用本地LLMAPI(如OpenAI)纠正OCR错误,最后转换成高准确度、高质量的Markdown文本。

开发过程

明确目的后开始熟悉模型,llm_aided_ocr的github网址:https://github.com/Dicklesworthstone/llm_aided_ocr

llm_aided_ocr项目的使用:参考GitHub项目说明及本开发过程说明

Python版本需要指定为3.12,

pip install -r requirements.txt

安装Tesseract OCR引擎,设置.env(根据实际情况提供API秘钥,我使用的是OpenAI)。

在安装Tesseract OCR引擎时可能会遇到错误,需要本地源码编译安装。它还依赖其他的库(Leptonica库、libcurl库),需要一起编译安装。

1.安装编译工具和依赖库:

sudo yum groupinstall "Development Tools"
sudo yum install gcc gcc-c++ autoconf automake libtool make
sudo yum install libpng-devel libjpeg-devel

2.下载Tesseract源代码:

wget https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz
tar -xzf 4.1.1.tar.gz
cd tesseract-4.1.1

3.编译安装Tesseract(先编译安装Leptonica和libcurl再运行以下安装命令):

./autogen.sh
./configure
make
sudo make install

从源代码编译Leptonica和libcurl

编译安装Leptonica:

wget http://leptonica.org/source/leptonica-1.81.1.tar.gz
tar -xzf leptonica-1.81.1.tar.gz
cd leptonica-1.81.1
./configure
make
sudo make install

编译安装libcurl:

wget https://curl.se/download/curl-7.82.0.tar.gz
tar -xzf curl-7.82.0.tar.gz
cd curl-7.82.0
./configure
make
sudo make install

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

4.设置.env

USE_LOCAL_LLM=False
API_PROVIDER=OPENAI
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key

自行获取openai_api_key

5、运行脚本

环境配置好后运行脚本文件:python llm_aided_ocr-02.py

我还修改了输入的PDF文件,看是否还能运行成功,确保不仅仅是只有GitHub项目中的PDF文件能识别转换成功,结果是可以识别其他的PDF文件并转换成功的。


NPU运行项目

(1)安装依赖包

使用NPU推理模型需要安装pytorchCANNtorch_npu

先安装CANN,参考:https://www.hiascend.com/zh/developer/download/community/result?module=cann

torch_npu的安装参考:https://github.com/Ascend/pytorch/blob/master/README.zh.md

其他的库参照开发过程安装。

(2)获取代码:

首先下载GitHub上的项目代码(git clone https://github.com/Dicklesworthstone/llm_aided_ocr)。

我参考项目中的llm_aided_ocr.py文件在此基础上修改代码至运行成功,代码已提交至gitcode项目(https://gitcode.com/m0_56308334/llm_aided_ocr/overview)。之后获取gitcode项目中的代码,参考此项目说明运行。

(3)涉及修改的部分

将从gitcode下载的llm_aided_ocr-02.py打开,可修改以下图片的地址,修改为您存放PDF文件目录的路径。

调用的参数修改:


模型可修改为其他的:

1       测试结果


1.1       Npu运行

运行程序前

运行前.PNG

运行程序后

运行后.PNG

运行命令:

可以看到文档被分为了6个部分调用openai处理;


运行成功后输出:

利用API(如OpenAI)纠正OCR错误,转换成的Markdown文本显示:

我使用了另一个英语文献进行测试,以下是英语文献原来的样式:

运行脚本前后输出:

打开.md文件查看:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。