liteparse-server 介绍:用于 AI 工作流的自托管文档解析与 OCR
liteparse-server 是一个自托管的 HTTP API,封装了 LiteParse 文档解析引擎,支持 PDF、Office 文档和图像,提供精确的空间布局文本提取和 OCR 功能。它解决了云端解析的延迟、成本和隐私问题,适用于 RAG、视觉模型等工作流。支持两种部署模式:轻量级服务器(无依赖)和完整堆栈(带 Redis 缓存、限流、OpenTelemetry 追踪、Prometheus 指标)。
在 AI 和数据工作流中,处理文档常常会遇到瓶颈。数据通常以 PDF、Word 文档、电子表格或扫描图像的形式存在,而从中提取干净的文本比想象中更困难。简单的提取库(如 pypdf)会丢失空间布局,而云端解析 API 虽然准确,但会引入延迟、按页收费、隐私问题和网络依赖。同时,仅为了提取文本而运行完整的 LLM 成本高昂且速度缓慢,难以扩展。与之相比,LiteParse 提供了快速、本地、准确的文档解析,采用开源工具。它能够精确提取文本的空间布局信息,为每个文本项生成边界框,并报告其在页面上的位置。这种空间保真度对于下游任务(如表格提取、章节检测和引用定位)至关重要。
liteparse-server 将 LiteParse 封装为 HTTP API,使其可以作为专用的自托管解析后端,供任何语言或服务使用。它支持多种文档格式:PDF(原生文本提取及选择性 OCR)、Office 文档(Word、PowerPoint、Excel 等,通过 LibreOffice)以及图像(JPG、PNG、TIFF 等,通过 ImageMagick)。OCR 默认使用 Tesseract.js,并可插件式支持 EasyOCR、PaddleOCR 或自定义 OCR 服务器。
该服务器提供两个主要端点:POST /parse 用于解析单个文档,返回带文本和边界框的结构化页面数据或纯文本;POST /screenshots 用于将文档页面渲染为 PNG 图像,以 Base64 编码返回,适合视觉模型和引用场景。端点接受配置字段以进行精细控制。
部署模式有两种:最小化服务器,无需基础设施依赖,可在本地使用 Bun/Node 或 Docker 运行;完整堆栈通过 Docker Compose 部署,包含 Redis 缓存、Redis 限流、OpenTelemetry 分布式追踪(Jaeger)以及 Prometheus 和 Grafana 监控。缓存使用文件内容的 SHA-256 哈希,避免重复解析。
该项目开源,托管在 GitHub,并提供预构建 Docker 镜像。用户 pull 镜像后即可运行服务器,默认监听 5000 端口。详细的文档(包括 OCR 配置、多格式支持、边界框输出及 TypeScript 和 Python 库 API)可在 developers.llamaindex.ai/liteparse 找到。