
Docpick
io.github.ArkNill由 GitHub 账号 ArkNill 发布v0.1.2更新于 Oct 25, 2026
Schema-driven document extraction with local OCR + LLM. Document in, Structured JSON out.
概览
Docpick 是一个本地运行、以模式驱动的文档抽取工具,借助本地 OCR 与本地 LLM 将发票、收据和表单转换为经过校验的结构化 JSON。
- 可以做什么
- 使用内置或自定义 Pydantic/JSON 模式从 PDF 和图片中抽取结构化 JSON,并提供逐字段置信度与失败时的部分结果。仅执行 OCR,支持韩文、英文等多种语言,并在 PaddleOCR、EasyOCR、GOT-OCR2.0 与 VLM 引擎间自动回退。通过校验位算法、跨字段规则和跨文档一致性检查验证抽取结果。以并行工作进程批量处理整个目录,并列出或查看八个内置模式。
- 适用场景
- 适合需要把发票、收据、提单、税务表单、银行对账单或身份证件等业务文档转换为结构化数据,同时让数据完全留在本机的场景。也适合批量处理文档目录以及校验一组成套贸易单据。
- 运行要求
- 以 Python 包形式本地运行(Python 3.11+),通过 pip 安装,可选装 OCR 附加组件。需要本地或兼容 OpenAI 的 LLM 端点,例如 vLLM 或 Ollama,并通过 CLI 或 YAML 配置。GOT-OCR2.0 与 VLM 引擎需要 GPU,PaddleOCR 与 EasyOCR 用 CPU 即可。
安装
在 SourceWeft 中
- 打开 控制台中的 Docpick,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Docpick
[PyPI] [Python] [License] [Tests]
Document in, Structured JSON out. Locally. With your schema.
docpick is a lightweight, schema-driven document extraction pipeline that combines local OCR engines with local LLMs to extract structured JSON from any document — invoices, receipts, bills of lading, tax forms, and more.
- Zero cloud dependency — runs entirely on your machine (CPU or GPU)
- Custom schemas — define your own Pydantic models or use 8 built-in document schemas
- Validation built-in — checkdigit verification, cross-field rules, cross-document consistency
- Apache 2.0 — no GPL/AGPL dependencies
Install
Requirements: Python 3.11+ / LLM endpoint (vLLM, Ollama, or OpenAI-compatible)
Quick Start
Python API
CLI
Built-in Schemas
Custom Schemas
Define your own schema with Pydantic:
Or use a JSON Schema file:
Validation
Check Digit Algorithms
Cross-Field Rules
Cross-Document Validation
Validate consistency across related documents (e.g., Invoice + B/L + Packing List):
OCR Engines
2-Tier Auto Engine
The default auto engine uses confidence-based fallback:
- Tier 1 (CPU): PaddleOCR → EasyOCR
- Tier 2 (GPU): GOT-OCR2.0 → VLM
If Tier 1 average confidence falls below threshold (default 0.7), automatically escalates to Tier 2.
LLM Providers
Configure via CLI or YAML:
Error Handling
The pipeline is designed to be resilient:
- OCR failure → automatic fallback to next available engine
- LLM JSON parse failure → automatic retry with correction prompt (up to 1 retry)
- Partial results → returns whatever was extracted, with errors logged in
result.errors - Document load failure → returns empty result with error message
Batch Processing
Process entire directories with parallel workers:
Architecture
License
Apache 2.0 — all dependencies are Apache 2.0 or MIT licensed.
Part of the QuartzUnit ecosystem — composable Python libraries for data collection, extraction, search, and AI agent safety.
来源:README.md,提交 173a35d
工具
0版本历史
1- v0.1.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分