llm_aided_ocr

用 LLM 把扫描 PDF 变成干净 Markdown,识别更准、格式更规整。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 214 👀 关注 22
GitHub ↗
GitHub 星标 ★ 3010
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,本地部署,完全免费

项目预览

llm_aided_ocr 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队Dicklesworthstone
定价模式🏷️完全免费
价格说明开源项目,本地部署,完全免费
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型ai-assist,llama2,llm,ocr,ocr-correction,tesseract
GitHub 星标★ 3010
上线时间2023-07-26 00:00:00
代码更新2026-11-01
仓库体积1.8 MB
本站数据更新2026-11-10
维护状态较活跃
收录时间2026-08-09
浏览次数4

项目介绍

llm_aided_ocr 是一个利用大语言模型(LLM)增强 Tesseract OCR 输出的开源工具。它解决传统 OCR 识别率低、输出格式杂乱的问题,通过 LLM 进行错误纠正、智能分块和 Markdown 格式化,将扫描版 PDF 转换为结构清晰、可读性强的文本。核心能力包括:支持本地或 API 的多种 LLM 接入,灵活配置;对 OCR 结果进行上下文感知的纠错,显著提升准确率;自动将长文档分块处理,避免超出模型上下文限制;输出为 Markdown 格式,便于后续编辑、检索和知识库构建。项目基于 Python,易于集成到现有工作流中。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 3010

技术标签

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 15 分钟 部署方式:本地安装 5 步

环境要求

  • Python 3.12(README 要求用 pyenv 安装该版本)
  • pyenv(用于安装和管理 Python 3.12)
  • Tesseract OCR 引擎(项目 OCR 能力依赖它)
  • OpenAI 或 Anthropic 的 API Key(使用 API 模式时),或本地可运行的 LLM
  • 可选 GPU(README 提到本地 LLM 推理可用 GPU 加速)

安装与启动步骤

  1. 1安装 pyenv 与 Python

    按 README 提供的脚本安装 pyenv 所需的编译依赖、克隆 pyenv 并写入 zsh 配置,然后安装 Python 3.12。

    if ! command -v pyenv &> /dev/null; then
        sudo apt-get update
        sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git
        git clone https://github.com/pyenv/pyenv.git ~/.pyenv
        echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
        echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
        echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
        source ~/.zshrc
    fi
    cd ~/.pyenv && git pull && cd -
    pyenv install 3.12
  2. 2准备项目环境

    README 第2步“Set up the project”的代码在节选中缺失,请对照仓库 README 完成依赖安装,并切换到 Python 3.12 环境。

  3. 3配置 .env

    在项目中使用 .env 文件配置 LLM 选择、API 提供商、模型、Token 上限与 Markdown 输出等选项。

  4. 4放入 PDF 并改路径

    把待处理 PDF 放在项目目录,并修改 main() 函数中的 input_pdf_file_path 变量为你的文件名。

  5. 5运行主脚本

    执行主脚本开始 PDF 转图片、Tesseract OCR、LLM 纠错与 Markdown 格式化流程。

    python llm_aided_ocr.py

关键配置

配置项必填说明示例
USE_LOCAL_LLM是True 使用本地 LLM,False 使用 API 方式的 LLMFalse
API_PROVIDER是选择 API 提供商,可选 OPENAI 或 CLAUDEOPENAI
OPENAI_API_KEY否使用 OpenAI API 时需要的密钥sk-xxxxxxxxxxxxxxxx
ANTHROPIC_API_KEY否使用 Anthropic(Claude)API 时需要的密钥sk-ant-xxxxxxxx
OPENAI_COMPLETION_MODEL否指定 OpenAI 侧使用的模型名称gpt-4o
CLAUDE_MODEL_STRING否指定 Claude 侧使用的模型名称claude-3-5-sonnet-latest

如何确认成功

脚本跑完后项目目录会生成多个输出文件,包含最终 LLM 纠正后的 Markdown 文本,终端日志无报错。

常见问题

Q:应该用本地 LLM 还是 API?

A:在 .env 中设置 USE_LOCAL_LLM:True 走本地模型,False 则通过 API_PROVIDER 选择 OPENAI 或 CLAUDE 并填写对应 API Key。

Q:运行时提示找不到 PDF 怎么办?

A:确认 PDF 已放入项目目录,并检查 main() 里 input_pdf_file_path 变量的文件名与实际文件完全一致。

Q:长文档会超出模型上下文吗?

A:项目内置智能分块功能,会把长文本切分后再交给 LLM 处理,避免超出上下文限制。

Q:本地 LLM 推理很慢怎么办?

A:README 提到支持 GPU 加速本地 LLM 推理,也可改用 API 方式获得更快的处理速度。

注意事项

  • README 第2步“Set up the project”的具体命令在节选中缺失,安装依赖前请以仓库当前 README 为准。
  • .env 中含 API Key,请不要把该文件提交到公开仓库。
  • 处理大量或超长 PDF 时,API 模式可能产生较高调用费用,建议先用少量页面测试。

核心亮点

  • 利用 LLM 上下文纠错,显著降低 OCR 错字率,尤其对专业术语和复杂排版
  • 智能分块处理长文档,突破上下文窗口限制,适合整本书级扫描件
  • 输出标准 Markdown,无缝对接笔记软件、知识库和文档管线

不足之处

  • 依赖外部 LLM 服务,本地模型需较高硬件配置,API 调用产生费用
  • 处理速度受 LLM 推理速度影响,大批量文档转换耗时较长
  • 文档/社区待观察

适用场景

  • 将扫描版书籍、论文转换为可检索的 Markdown 笔记
  • 批量数字化企业纸质档案,并结构化存储
  • 为 OCR 结果提供智能校对,提升数据录入准确率

替代项目

Marker、Mathpix、PaddleOCR

上一篇:text-extract-api

下一篇:DeepCamera

同类项目推荐

neuriplo-infer 开源

一个 C++ 程序跑通检测分割分类光流多任务

C++ app for computer vision inference, supporting multiple tasks and backends.

★ 107 2026-09-18
dpscreenocr 开源

框选屏幕任意区域,一键提取文字到剪贴板

A program to recognize text on the screen

★ 300 2026-09-30
DTrOCR 开源

用纯解码器 Transformer 直接生成文字,简化 OCR 识别流程

A PyTorch implementation of DTrOCR: Decoder-only Transformer for Optical Character R···

★ 205 2026-09-19
docstrange 开源

从任意文档秒提取结构化数据,一键转成 JSON/CSV

Extract and convert data from any document, images, pdfs, word doc, ppt or URL into ···

★ 1587 2026-08-09
GraspGPT_public 开源

从图像直接预测机器人抓取姿态,快速复现SOTA抓取模型。

code implementation of GraspGPT and FoundationGrasp

★ 148 2026-08-09
manga-image-translator 开源

一键翻译漫画图片文字,自动抹除替换,阅读无国界

Translate manga/image 一键翻译各类图片内文字 https://cotrans.touhou.ai/ (no longer w···

★ 10582 2026-08-10
gcd 开源

单目视频一键生成动态新视角,让相机自由飞

Generative Camera Dolly: Extreme Monocular Dynamic Novel View Synthesis (ECCV 2024 O···

★ 296 2026-08-09
kwiver 开源

用配置拼装视觉算法,运行时换模块不重编译

Mirror of upstream KWIVER: Pulls Together Computer Vision Algorithms into Highly-Mod···

★ 204 2026-09-18