Repolode
CatchTheTornado

CatchTheTornado/text-extract-api

自托管的 FastAPI 服务,结合 OCR 与 Ollama 模型,将 PDF、图片和 Office 文档转换为 Markdown 或结构化 JSON,并可脱敏。

可替代:Adobe AcrobatABBYY FineReader

Star
3,184
Fork
279
未关闭 Issue
49
最近提交
11个月前

这是什么?

text-extract-api 是一个文档提取服务,可将图片、PDF 和 Office 文件转换为 Markdown 文本或结构化 JSON。它基于 FastAPI 构建,使用 Celery 处理异步任务,并用 Redis 缓存 OCR 结果。项目提供多种 OCR 策略,包括 EasyOCR、通过 Ollama 运行的 MiniCPM-V 和 Llama 3.2 Vision,以及调用外部 marker-pdf 服务的远程策略。

OCR 输出可以交给 Ollama 托管的大模型,配合自定义提示词生成 JSON,或从发票、报告中去除个人敏感信息。处理结果可通过可替换的存储配置保存到本地文件系统、Google Drive 或 Amazon S3。项目提供 CPU 与 GPU 两套 Docker Compose 配置,并附带命令行工具和 TypeScript 客户端。

它适合需要在本地或自有服务器上处理文档、又不希望文件被发送到外部云服务的团队。使用远程 marker 策略或云存储后端时,数据会发送到你自行配置的地址。

核心功能

  • 01将图片、PDF 和 Office 文档转换为 Markdown 或 JSON。
  • 02提供 EasyOCR、MiniCPM-V、Llama 3.2 Vision 和远程 marker-pdf 等 OCR 策略。
  • 03通过 Ollama 托管的模型修正 OCR 文本并提取结构化数据。
  • 04可通过提示词去除文档中的个人敏感信息。
  • 05使用 Celery 异步处理任务,并用 Redis 缓存 OCR 结果。
  • 06通过存储配置将结果保存到本地磁盘、Google Drive 或 Amazon S3。

适用场景

  • 将扫描的发票或报告转换为结构化 JSON,供下游系统使用。
  • 在共享或归档文档前去除其中的个人信息。
  • 在无法让文件离开内网的环境中进行本地文档 OCR。
  • 构建文档摄入 API,为 RAG 或搜索流程提供文本。

快速上手

  1. 1

    克隆仓库

    git clone https://github.com/CatchTheTornado/text-extract-api.git
  2. 2

    进入项目目录

    cd text-extract-api
  3. 3

    使用 Docker Compose 启动所有服务

    docker-compose up --build

使用前须知

  • 本地 OCR 模型和 Ollama 大模型需要较高硬件配置,其中 llama_vision 策略因参数量达 90B 而非常慢。
  • marker-pdf 远程策略采用 GPL3 许可证且不随项目捆绑,其模型权重also有非商业使用限制。

标签

常见问题

text-extract-api 是什么?
自托管的 FastAPI 服务,结合 OCR 与 Ollama 模型,将 PDF、图片和 Office 文档转换为 Markdown 或结构化 JSON,并可脱敏。 text-extract-api 是一个文档提取服务,可将图片、PDF 和 Office 文件转换为 Markdown 文本或结构化 JSON。它基于 FastAPI 构建,使用 Celery 处理异步任务,并用 Redis 缓存 OCR 结果。项目提供多种 OCR 策略,包括 EasyOCR、通过 Ollama 运行的 MiniCPM-V 和 Llama 3.2 Vision,以及调用外部 marker-pdf 服务的远程策略。
text-extract-api 可以免费使用吗?用的什么许可证?
text-extract-api 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
text-extract-api 还在维护吗?
超过半年未提交。text-extract-api 最近一次提交是在 2025年12月8日。
text-extract-api 适合用来做什么?
将扫描的发票或报告转换为结构化 JSON,供下游系统使用。 在共享或归档文档前去除其中的个人信息。 在无法让文件离开内网的环境中进行本地文档 OCR。 构建文档摄入 API,为 RAG 或搜索流程提供文本。
text-extract-api 怎么安装和运行?
克隆仓库: git clone https://github.com/CatchTheTornado/text-extract-api.git 进入项目目录: cd text-extract-api 使用 Docker Compose 启动所有服务: docker-compose up --build
在哪里获取 text-extract-api?
源代码和安装说明在 GitHub 上:https://github.com/CatchTheTornado/text-extract-api

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目