Sparrow 文档智能平台

结合机器学习和视觉大语言模型,从发票、报表和表格中提取结构化数据,并编排多步骤智能体工作流。

Star 数
★ 5.2k
最近更新
11 天前
License
GPL-3.0
主语言
Python

30 秒速览

运行形态
命令行工具自托管服务网页应用
可在哪里用
兼容但需适配
费用
软件免费,模型调用费用自付
上手难度
高 · 需要较重的基础设施
开始前需要
Python 3.12.10+popplerMLX(Apple Silicon)或用于 GPU 的 vLLM/OllamaShell / 命令行网络访问本地文件系统
典型场景
财务团队自动化处理银行对账单,提取交易列表和账户摘要。
不适合
  • 没有本地 GPU 或 Apple Silicon 的团队,CPU 运行明显过慢
  • 需要开箱即用、不想安装 poppler 等系统依赖的用户
  • 希望免费商用闭源产品的团队,GPL-3.0 有约束且商业授权需付费

这个 Agent 能做什么,适合哪些场景?

Sparrow 是一个 API 优先的企业文档智能平台,提供结构化数据提取、指令处理和智能体工作流编排功能。它包含 Sparrow Parse(视觉大语言模型用于 JSON 提取)、Sparrow Instructor(文本大语言模型用于指令处理)和 Sparrow Agents(基于 Prefect 的多步骤流程编排)等核心组件。平台支持多种后端,包括 Apple Silicon 上的 MLX、NVIDIA 上的 vLLM、Ollama、Hugging Face 以及 Mistral OCR 云服务,且所有后端共用同一套 API。Sparrow UI 提供拖拽上传、实时处理和可视化监控的 Web 界面。许可证为 GPL-3.0,并提供商业双许可证选项。

Sparrow 通过 REST API 接收文档(PNG、JPG、多页 PDF)和 JSON 模式,调用视觉大语言模型(如 Qwen2.5-VL、Gemma 4)提取结构化数据,并输出带有效性验证的 JSON。它支持指令处理,如算术运算或文档问答,通过 Sparrow Instructor 管道实现。Sparrow Agents 编排多步骤工作流,例如医疗处方处理,支持通过 Prefect 进行可视监控。平台提供命令行工具(sparrow.sh)和 Python API(api.py),端点包括 /inference 和 /instruction-inference。它支持多种后端配置,包括 MLX、vLLM、Ollama 和 Mistral OCR,并提供提取提示(hints)以提高复杂文档的准确性。

  1. 财务团队自动化处理银行对账单,提取交易列表和账户摘要。
  2. 应付账款部门从发票中提取供应商、金额和税额,并验证字段完整性。
  3. 分析师从财务报表的多页 PDF 中提取表格数据,并保持页面级输出。
  4. 保险公司使用工作流智能体处理医疗处方,进行自动分类和提取。
  5. 开发人员通过 REST API 将文档提取集成到现有后端或数据管道中。
  6. 需要本地或云端 OCR 的团队,可用 Mistral OCR 作为后端进行无 GPU 部署。

如何安装或部署这个 Agent?

先安装 Python 3.12.10(如通过 pyenv)。克隆仓库后,进入 sparrow/sparrow-ml/llm 目录,创建虚拟环境并安装依赖:pip install -r requirements_sparrow_parse.txt(macOS 上需确保 sparrow-parse[mlx] 引用存在,Linux/Windows 使用 sparrow-parse)。在 macOS 上需通过 brew install poppler 安装 poppler;Ubuntu/Debian 使用 sudo apt-get install poppler-utils。安装完成后,运行 python api.py 启动 API 服务器,默认端口 8002。

如何使用这个 Agent?

使用命令行工具 sparrow.sh,例如:./sparrow.sh '[{"instrument_name":"str", "valuation":0}]' --pipeline "sparrow-parse" --options mlx --options mlx-community/Qwen2.5-VL-72B-Instruct-4bit --file-path "data/bonds_table.png"。也可以直接调用 REST API:curl -X POST 'http://localhost:8002/api/v1/sparrow-llm/inference' -F 'query=[{"field_name":"str", "amount":0}]' -F 'pipeline=sparrow-parse' -F 'options=mlx,mlx-community/Qwen2.5-VL-72B-Instruct-4bit' -F '[email protected]'。对于指令处理,使用 /instruction-inference 端点。参考 README 中的示例和 API 文档(/api/v1/sparrow-llm/docs)进行更多操作。

这个 Agent 有哪些优点和局限?

优点
  • 支持多后端(MLX、vLLM、Ollama、Mistral OCR),可适配不同硬件环境。
  • 提供插件式管道,可组合视觉语言模型、文本语言模型和智能体流程。
  • 内置 JSON 模式验证和提取提示,提高准确性和可靠性。
  • 包含 Web UI 和监控仪表盘,便于可视化操作和流程跟踪。
局限
  • 依赖特定版本的 Python(3.12.10+)和系统库(如 poppler),安装配置较繁琐。
  • 需要本地 GPU(NVIDIA 或 Apple Silicon)才能达到理想性能,仅 CPU 环境速度较慢。
  • GPL-3.0 许可证可能限制商业闭源使用,需购买商业许可证。
  • 对大规模生产部署,文档中未提供完整的 Docker 或 Kubernetes 部署方案。

这个 Agent 与同类方案有什么区别?

文档中未提及具体替代品,但根据功能推断,它可与 Azure Document Intelligence、Amazon Textract 等云文档提取服务竞争,但 Sparrow 强调本地部署和可插拔后端。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Sparrow 文档智能平台 当前 29 · 缺口较多 命令行工具免费 + 模型费 ★ 5.2k 11 天前 Python —
Hiring Agent 简历评分器 62 · 存在缺口 命令行工具免费 + 模型费 ★ 7.3k 14 天前 Python —
Cube Core 59 · 缺口较多 自托管服务免费版 + 付费版 ★ 21k 今天 Rust —
OpenBB 开放数据平台 37 · 缺口较多 代码库 / SDK免费版 + 付费版 ★ 74k 今天 Python —

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
29/ 100 五分制 1.5 / 5
信任安全 0/29
可靠稳定 3/14
适用触发 9/18
规范维护 8/18
有效结果 7/13
证据核验 2/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示:仓库未提供任何权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的说明。所有信任相关标准均未得到满足,因此得分为0。

可靠稳定3 / 14 · 1.1/5

证据显示:README中提供了多个示例和输出,但未提供测试或验证结果,自一致性仅基于文档描述,得分为1。依赖可用性方面,列出了多个后端和依赖,但未提供版本锁定或完整性校验,得分为1。失败消息方面,未提供错误处理或失败消息的文档,得分为0。

适用触发9 / 18 · 2.5/5

证据显示:README明确了目标受众(企业文档智能)和多种使用场景(发票、表格、银行对账单等),得分为2。能力边界方面,描述了不同管道的用途,但未明确限制或边界,得分为1。触发精度方面,提供了CLI和API参数,但未详细说明触发条件,得分为1。环境适配方面,提供了多种平台和硬件的安装说明,得分为2。

规范维护8 / 18 · 2.2/5

证据显示:README结构清晰,包含目录、安装、示例等,信息架构良好,得分为2。安装说明详细,包括平台特定步骤,得分为2。命名稳定性方面,版本号在README中提及,但未提供变更日志,得分为1。示例和FAQ方面,提供了多个示例,但未提供FAQ,得分为2。已知限制方面,未提及任何限制,得分为0。许可证为GPL-3.0,得分为2。版本控制和变更日志方面,未提供CHANGELOG,得分为0。维护责任方面,未明确维护者或贡献指南,得分为1。

有效结果7 / 13 · 2.7/5

证据显示:输出为结构化JSON,可直接使用,得分为2。边际价值方面,提供了多种管道和功能,但未与现有方案对比,得分为2。成本效益方面,未提供性能基准或成本分析,得分为1。

证据核验2 / 8 · 1.3/5

证据显示:README中的声明未提供测试或基准数据支持,得分为1。跨来源验证方面,未提供其他来源的验证,得分为0。事实与推断分离方面,README中未明确区分事实和推断,得分为1。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 仓库未提供任何安全或权限相关的文档,部署前需自行评估风险。
  • 依赖未锁定版本,可能存在供应链风险。
  • 未提供已知限制,可能隐藏潜在问题。
证据充分度:低 评估于 2026年8月11日 审查版本 b53bf5988f91 评估后仓库已有新提交,评分可能未覆盖最新改动
评估证据 README.MDLICENSE
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.6.0
    发布说明摘录
    Sparrow 0.6.0 Rebuilt Sparrow UI from Gradio to Next.js 16 + shadcn. Key improvements: - Process page — faster document upload and extraction workflow, JSON result viewer with syntax highlighting, inline summarization, example documents pre-loaded - Dashboard — real-time analytics with KPI cards, sparklines, inference timeline chart, model usage and country distribution - Feedback page — user feedback collection - Dark mode — system preference detection with manual toggle - Mobile support — fully responsive layout across all pages
    在 GitHub 查看 ↗
  2. v0.5.0
    发布说明摘录
    Sparrow 0.5.0 Structured Data Extraction with Local Vision AI 🚀 What's New New Model Lineup The inference model lineup has been redesigned for clarity and performance: - Standard mode — Ministral 3 14B: fast, reliable extraction for everyday documents - Tables Only mode — dots.ocr + Sparrow custom processing pipeline: specialized for complex structured table extraction using the dots.ocr → HTML → Sparrow Templates → JSON flow - Advanced mode — Gemma 4 31B Dense: maximum accuracy for demanding document types vLLM Backend — NVIDIA RTX 6000 Pro Support …
    在 GitHub 查看 ↗
  3. v0.4.4
    发布说明摘录
    New MLX backend Improved Sparrow backend with upgraded MLX libs, new Mistral 3.2 model and improved UI.
    在 GitHub 查看 ↗

常见问题

Sparrow 仅支持云端 OCR 吗?
不,Sparrow 支持本地视觉语言模型(通过 MLX、vLLM 等)和云端 OCR(Mistral OCR)作为后端。选择取决于硬件和隐私要求。
如何提高提取准确率?
可尝试添加提取提示(--hints-file-path),调整裁剪大小(--crop-size),或使用表格管道(--table --table-template)配合 dots.ocr 处理大型表格。确保图像分辨率足够(300 DPI 以上)。
是否支持多页面 PDF?
是的,支持多页 PDF 处理,并可为每页输出独立的 JSON 结果。可指定页面类型(如发票、表格)进行分类处理。
如何部署到生产环境?
文档未提供 Docker 或 Kubernetes 部署指南。建议在本地或专用服务器上运行多个 API 实例(不同端口),并使用反向代理进行负载均衡。对于企业级部署,可联系商业支持。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents