Paperless GPT 是与 paperless - ngx 搭配使用的文档工具,借助AI生成文档标题和标签,减少手动分类的时间成本,将OCR技术与大语言模型(LLM)结合,在扫描复杂的文档文件时,能提取出高精度文本。

Paperless GPT支持OpenAI、Ollama等大语言模型,可处理低质量或复杂布局的扫描件,相比传统OCR,能结合上下文纠正识别错误,输出更精准的文本内容。

Paperless GPT提供多种OCR服务:

LLM OCR:利用OpenAI或Ollama从图像中提取文本。

Google Document AI:借助谷歌的企业级OCR服务。

Azure Document Intelligence:使用微软的文档智能解决方案。

Docling Server:支持自托管的OCR和文档转换服务。

自动化生成元数据

标题和标签:AI自动生成文档标题和分类标签,支持人工审核和调整。

通信人识别:从文档内容中提取通信人信息,简化通信记录管理。

创建日期生成:基于文档内容推断创建日期,提升时间线管理准确性。

Paperless GPT能生成带透明文本层的PDF文件,保留原始排版的同时,使文档具备文本搜索和选择功能,支持将处理后的PDF保存到本地或上传至paperless - ngx。

Paperless GPT的OCR处理模式

图像模式(默认):将PDF页面转换为图像进行处理,兼容所有OCR提供商。

PDF模式:直接处理PDF页面,保留文档特性,可能提升处理速度和准确性。

整页PDF模式:一次性处理整个PDF文档,减少API调用次数,适合高效处理多页文档。

环境变量配置

通过设置环境变量,可灵活调整系统行为:

LLM配置:选择OpenAI、Mistral、Ollama等提供商及对应模型(如gpt - 4oqwen3:8b)。

OCR配置:指定OCR提供商、处理模式及输出格式(如hOCR、PDF文本层)。

安全设置:限制OCR页数(OCR_LIMIT_PAGES)、自动跳过已处理文档(PDF_SKIP_EXISTING_OCR)。

Docker快速部署

提供Docker Compose示例配置,只需设置必要环境变量,即可将Paperless GPT与paperless - ngx部署在一起:

services:
paperless-gpt:
image: icereed/paperless-gpt:latest
environment:
    PAPERLESS_BASE_URL: "http://paperless-ngx:8000"
    PAPERLESS_API_TOKEN: "your_api_token"
    LLM_PROVIDER: "openai"
    LLM_MODEL: "gpt-4o"
    OPENAI_API_KEY: "your_openai_key"
volumes:
    - ./prompts:/app/prompts
ports:
    - "8080:8080"
depends_on:
    - paperless-ngx

Paperless GPT 进阶功能

增强型OCR特性

hOCR与PDF文本层:仅Google Document AI支持生成hOCR文件和带文本层的PDF,实现精确文本定位和搜索功能。

本地文件存储:通过配置CREATE_LOCAL_HOCRCREATE_LOCAL_PDF,可将处理后的文件保存到本地指定目录。

使用建议

谨慎替换文档:启用PDF_REPLACE时需谨慎,该功能会删除原始文档,建议先进行备份。

标签管理:利用PDF_OCR_COMPLETE_TAG自动标记已处理文档,避免重复操作。

性能优化:对于本地LLM(如Ollama),可通过TOKEN_LIMIT控制令牌数量,适配模型上下文窗口。

实际效果对比

以下是传统OCR与LLM驱动OCR的效果对比:

示例1:收据扫描件

传统OCR:出现文字扭曲、断行错误(如“LOUUAIN LA NEUVE”识别为“LOLNAIN LA NEWWE”)。

LLM OCR(gpt - 4o):准确还原地址、金额和时间信息,文本结构清晰。

示例2:发票文档

传统OCR:表格内容错位、日期格式错误(如“Sep 16, 2004”误为“Sep 16, 2004”)。

LLM OCR(gpt - 4o):正确解析表格结构,修正日期和金额格式,提升可读性。