将任何图像、PDF 或 Office 文档转换为 Markdown 文本 或 JSON 结构文档,并实现超高精度转换,包括表格数据、数字或数学公式。
该 API 基于 FastAPI 构建,并使用 Celery 进行异步任务处理。Redis 用于缓存 OCR 结果。
docker-compose
进行部署和配置,无需将数据发送到开发/服务器环境之外。将 MRI 报告转换为 Markdown + JSON 格式。
python client/cli.py ocr_upload --file examples/example-mri.pdf --prompt_file examples/example-mri-2-json-prompt.txt
运行示例之前,请参阅入门
将发票转换为 JSON 并移除 PII
python client/cli.py ocr_upload --file examples/example-invoice.pdf --prompt_file examples/example-invoice-remove-pii.txt
运行示例之前,请参阅入门
您可能希望直接在您的机器上运行该应用以进行开发,或者使用 Apple GPU(目前 Docker 不支持)。
要启动并运行,请执行以下步骤:
在远程主机上设置 Ollama
要连接到外部 Ollama 实例,请设置环境变量:
OLLAMA_HOST=http://address:port
,例如:
bashOLLAMA_HOST=http(s)://127.0.0.1:5000
如果要禁用本地 Ollama 模型,请使用环境变量
DISABLE_LOCAL_OLLAMA=1
,例如:
bashDISABLE_LOCAL_OLLAMA=1 make install
注意:禁用本地 Ollama 时,请确保所需模型已下载到外部实例。
目前,
DISABLE_LOCAL_OLLAMA
变量无法用于在 Docker 中禁用 Ollama。解决方法是,从docker-compose.yml
或docker-compose.gpu.yml
中删除ollama
服务。未来版本将支持在 Docker 环境中使用该变量。
首先,克隆代码库并将当前目录切换到该代码库:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
Makefile
设置默认应用程序创建 虚拟 Python 环境: .venv
。您可以在本地设置中通过在运行脚本前添加 DISABLE_VENV=1
来禁用此功能:
DISABLE_VENV=1 make install
DISABLE_VENV=1 make run
配置环境变量:
cp .env.localhost.example .env.localhost
您可能只想使用默认值 - 应该没问题。设置环境变量后,只需执行:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
chmod +x run.sh
run.sh
此命令将安装所有依赖项 - 包括 Redis(通过 Docker 安装,因此无论如何,它并非完全脱离 Docker 运行 text-extract-api
:)
(MAC) - 依赖项
brew update && brew install libmagic poppler pkg-config ghostscript ffmpeg automake autoconf
(Mac) - 你需要启动 celery worker
source .venv/bin/activate && celery -A text_extract_api.celery_app worker --loglevel=info --pool=solo
然后你就可以运行一些 CLI 命令了,例如:
python client/cli.py ocr_upload --file examples/example-mri.pdf --ocr_cache --prompt_file=examples/example-mri-remove-pii.txt
要同时运行多个任务 - 对于并发处理,请运行以下命令启动单个工作进程:
celery -A text_extract_api.tasks worker --loglevel=info --pool=solo & # 要通过并发处理进行扩展,请运行此行,其次数与您想要运行的并发进程数相同
要使用我们的托管版本试用该应用程序,您可以跳过“入门”部分,直接在我们的云平台上试用 CLI 工具:
在浏览器中打开:demo.doctractor.com
... 或在终端中运行:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
export OCR_UPLOAD_URL=https://doctractor:Aekie2ao@api.doctractor.com/ocr/upload
export RESULT_URL=https://doctractor:Aekie2ao@api.doctractor.com/ocr/result/
python client/cli.py ocr_upload --file examples/example-mri.pdf --ocr_cache --prompt_file=examples/example-mri-remove-pii.txt