text-extract-api终极解析:如何将PDF、Word、图片智能转换为Markdown和JSON

【免费下载链接】text-extract-api Document (PDF, Word, PPTX ...) extraction and parse API using state of the art modern OCRs + Ollama supported models. Anonymize documents. Remove PII. Convert any document or picture to structured JSON or Markdown 【免费下载链接】text-extract-api 项目地址: https://gitcode.com/gh_mirrors/te/text-extract-api

text-extract-api是一款功能强大的文档提取与解析API,它利用最先进的OCR技术和Ollama支持的模型,能够将PDF、Word、PPTX等多种文档以及图片转换为结构化的JSON或Markdown格式,同时还具备文档匿名化和PII(个人身份信息)移除功能。

OCR技术将文档转换为JSON示意图

为什么选择text-extract-api?

在数字化时代,我们经常需要处理各种格式的文档,将非结构化的内容转换为结构化数据以便进一步分析和处理。text-extract-api应运而生,它具有以下显著优势:

本地部署,数据安全有保障

text-extract-api无需依赖云服务或外部API,所有处理都在本地环境进行。它基于PyTorch的OCR(如EasyOCR)和Ollama构建,通过docker-compose即可轻松配置,确保数据不会泄露到外部环境。

多格式支持,转换精准高效

无论是PDF、Word等办公文档,还是各种图片格式,text-extract-api都能轻松应对。它能将这些文档高精度地转换为Markdown文本或JSON结构化文档,包括表格数据、数字和数学公式等复杂内容。

多种OCR策略,满足不同需求

该项目提供了多种OCR策略,如基于llama3.2-vision、easyOCR、minicpm-v等,用户可以根据具体需求选择最适合的策略。此外,还支持远程URL策略,如marker-pdf,以应对更多语言和复杂场景。

丰富功能,一站式解决方案

除了文档转换,text-extract-api还具备LLM优化OCR结果、移除PII、分布式队列处理(使用Celery)、缓存(使用Redis)、多种存储策略(如Google Drive、本地文件系统)以及CLI工具等功能,满足用户在文档处理方面的多样化需求。

快速上手:安装与配置

前提条件

在开始使用text-extract-api之前,请确保您的系统已安装以下软件:

克隆仓库

首先,克隆text-extract-api仓库到本地:

git clone https://gitcode.com/gh_mirrors/te/text-extract-api
cd text-extract-api

使用Makefile快速 setup

text-extract-api提供了便捷的Makefile命令,帮助您快速搭建环境。默认情况下,应用会创建一个虚拟Python环境.venv。如果您想在本地设置中禁用此功能,可以在运行脚本前添加DISABLE_VENV=1

DISABLE_VENV=1 make install
DISABLE_VENV=1 make run

手动 setup(可选)

如果您需要手动配置环境变量,可以执行以下步骤:

cp .env.localhost.example .env.localhost

您可以使用默认值,通常情况下已经足够。设置好环境变量后,执行:

python3 -m venv .venv
source .venv/bin/activate
pip install -e .
chmod +x run.sh
run.sh

这条命令将安装所有依赖项,包括通过Docker安装Redis。

实际应用示例

将MRI报告转换为Markdown和JSON

text-extract-api能够轻松处理医疗报告等专业文档。以下是将MRI报告转换为Markdown和JSON的示例命令:

python client/cli.py ocr_upload --file examples/example-mri.pdf --prompt_file examples/example-mri-2-json-prompt.txt

MRI报告转换为Markdown示例

将发票转换为JSON并移除PII

对于商业文档,text-extract-api同样表现出色。以下命令可以将发票转换为JSON格式并自动移除其中的个人身份信息:

python client/cli.py ocr_upload --file examples/example-invoice.pdf --prompt_file examples/example-invoice-remove-pii.txt

发票转换为JSON示例

深入了解:text-extract-api的核心功能

文本提取策略

text-extract-api提供了多种文本提取策略,以适应不同的场景和需求:

easyocr

Easy OCR基于Apache许可证,是一款通用OCR工具,支持30多种语言,对英语的识别性能尤为出色。它默认启用,您可以通过strategy=easyocr参数在CLI和URL中使用它。

minicpm-v

MiniCPM-V基于Apache许可证,使用其模型权重需严格遵循MiniCPM模型许可证。该模型对学术研究完全免费,填写问卷注册后也可免费用于商业用途。使用前需通过以下命令拉取模型:

python client/cli.py llm_pull --model minicpm-v

或在本地Ollama环境中执行:ollama pull minicpm-v

llama_vision

LLama 3.2 Vision策略基于Meta社区许可协议,支持多种语言,但由于参数数量较多(90b),可能是速度较慢的一种策略。它默认启用,可通过strategy=llama_vision参数使用,也是默认策略。

remote

对于一些特殊需求,如支持50多种语言的Marker,由于其GPL3许可证的限制,text-extract-api未默认包含。但您可以通过远程API的方式使用它,具体设置方法可参考项目文档。

存储策略

text-extract-api支持多种存储策略,您可以在/storage_profiles目录下通过YAML配置文件进行设置:

本地文件系统
strategy: local_filesystem
settings:
  root_path: /storage
  subfolder_names_format: ""
  create_subfolders: true
Google Drive
strategy: google_drive
settings:
  service_account_file: /storage/client_secret.json
  folder_id:
Amazon S3
strategy: aws_s3
settings:
  bucket_name: ${AWS_S3_BUCKET_NAME}
  region: ${AWS_REGION}
  access_key: ${AWS_ACCESS_KEY_ID}
  secret_access_key: ${AWS_SECRET_ACCESS_KEY}

总结

text-extract-api是一款功能全面、易于使用的文档提取与解析工具。它通过先进的OCR技术和LLM模型,为用户提供了高效、安全的文档转换解决方案。无论您是需要处理日常办公文档,还是应对专业领域的复杂数据提取任务,text-extract-api都能满足您的需求。

立即尝试text-extract-api,体验智能文档转换的便捷与高效!如果您在使用过程中有任何问题或需要帮助,欢迎加入项目的Discord社区进行交流。

【免费下载链接】text-extract-api Document (PDF, Word, PPTX ...) extraction and parse API using state of the art modern OCRs + Ollama supported models. Anonymize documents. Remove PII. Convert any document or picture to structured JSON or Markdown 【免费下载链接】text-extract-api 项目地址: https://gitcode.com/gh_mirrors/te/text-extract-api

更多推荐