如何使用Streamlit和Llama 3.2-Vision构建自己的OCR助手

2024年12月26日 由 alex 发表 98 0

光学字符识别(OCR)是一种工具,可帮助自动化将图像转换为文本的过程。你很可能在手机上已经用过它,因为现在它非常常见。从文档数字化到业务流程自动化,OCR是许多现代解决方案的核心。在本文中,我们将引导你使用Streamlit、Llama 3.2-Vision和Ollama创建一个简单但功能强大的OCR助手,因为何不参与这场机器学习模型的竞赛呢?有趣的部分不仅在于你可以从图像中提取文本,还可以总结文本或修改提示以从模型中获得你想要的任何内容。


到最后,你将拥有一个功能齐全的OCR工具,可以用来分析图像中的可见文本。此外,你还将了解正在重塑机器学习的前沿技术。


什么是OCR,以及为什么使用Llama 3.2-Vision?


什么是OCR?

OCR是一种技术,可以将不同类型的文档(如扫描的纸质文档、文档的照片或包含文本的图像)转换为可编辑和可搜索的数据。它之所以重要,原因如下:

  • 自动化数据录入:从扫描的表格或发票中提取文本。
  • 数字化记录:将旧书籍或纸张转换为数字文件。
  • 可搜索文档:使基于图像的PDF变得可搜索且易于导航。


为什么选择Llama 3.2-Vision进行OCR?


Llama 3.2-Vision是一个复杂的视觉模型,提供以下优势:

  • 高精度:特别是在处理复杂图像或文档时。
  • 高级格式化:它比传统OCR模型更好地保持文本结构和格式。
  • 适应性:可与本地服务器设置无缝集成,实现高效的图像处理。


构建OCR助手的分步指南

首先,确保你克隆了仓库:https://github.com/MinimalDevops/llama-ocr.git


git clone https://github.com/MinimalDevops/llama-ocr.git
cd llama-ocr


安装Ollama和Llama 3.2-Vision

要使用Llama 3.2-Vision,我们需要Ollama,这是一个用于运行机器学习模型的本地服务。


安装Ollama:


curl -sSfL https://ollama.com/download | sh


安装Llama 3.2-Vision:


ollama pull llama3.2-vision


这条命令会拉取Llama 3.2-Vision模型,使其可以在你的服务器上访问。


设置你的开发环境

使用虚拟环境有助于避免Python包之间的冲突。


创建虚拟环境:


python -m venv venv
source venv/bin/activate


激活环境:

  • Windows: venv\Scripts\activate
  • macOS/Linux: source venv/bin/activate


安装依赖项

为了简化操作,使用requirements.txt文件来安装所有必要的包:


安装依赖项:


pip install -r requirements.txt


需求包括:

  • streamlit:用于网页界面
  • requests:用于发起HTTP请求
  • Pillow:用于图像处理


运行Ollama服务器

要使用Llama 3.2-Vision进行OCR,你需要启动Ollama服务器:


ollama serve


检查模型是否正在运行:


ollama ps


如果未运行,则启动它:


ollama run llama3.2-vision


这将在本地启动服务器,使其能够在http://localhost:11434处理请求。


运行Streamlit OCR应用程序

现在一切都已设置好,是时候运行将作为你的OCR界面的Streamlit应用程序了:


启动应用程序:


streamlit run ocr_app.py


使用界面:

上传图像(JPG、JPEG或PNG格式)。


20


21


点击“运行OCR”按钮以提取文本。


22


注意:我正在运行的是11B参数模型。


实际应用

  • 数字化旧记录:扫描手写笔记或书籍。
  • 自动化数据收集:从收据或文档中提取数据以简化工作流程。


常见问题解决


服务器连接问题

  • 404错误:在使用OCR功能之前,确保Ollama服务器正在运行。
  • 无法连接:检查端点http://localhost:11434是否可达。确保没有防火墙或网络问题。


依赖问题

  • 缺少包:始终激活你的虚拟环境,并使用pip install -r requirements.txt来安装依赖项。
  • 版本冲突:确保Python版本为3.8或更高,以避免兼容性问题。


你已经使用Streamlit和Llama 3.2-Vision构建了自己的OCR助手。以下是你的成就:

  • 安装并设置了Ollama和Llama 3.2-Vision。
  • 创建了虚拟环境并安装了所有必要的包。
  • 构建了一个功能齐全的OCR工具来分析图像中的文本。


你还可以通过以下方式进一步改进应用程序:

  • 添加更多模型:尝试其他OCR模型。
  • 将其部署到云端:使其可以通过互联网访问,以便更广泛地使用。
  • 修改提示以实现更多功能:修改提示以根据需要获得摘要,或获取图像中给定文本的更多详细信息等。


或者,如果你不喜欢编程和摆弄代码,你可以使用LM Studio。


加载一个模型,如“Llava Phi 3 mini”。


23


在聊天中上传一张图片,并使用聊天提示获取相同的信息。


24



文章来源:https://minimaldevops.com/how-to-build-your-own-ocr-assistant-with-streamlit-and-llama-3-2-vision-7ce239b23983
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消