sparrow

从文档和图片中一键提取结构化数据,驱动自动化流程。

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 518 👀 关注 58
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 5232
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源项目,GPL-3.0许可,可自行部署使用,无付费版本。

项目预览

sparrow 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队katanaml
定价模式🏷️完全免费
价格说明开源项目,GPL-3.0许可,可自行部署使用,无付费版本。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议GPL-3.0
主要语言Python
技术栈/模型agentic-ai,computer-vision,documentai,huggingface-transformers,llm,machinelearning,vllm
GitHub 星标★ 5232
上线时间2022-01-08 00:00:00
代码更新2026-11-05
仓库体积30.5 MB
本站数据更新2026-11-07
维护状态活跃
收录时间2026-08-09
浏览次数5

项目介绍

sparrow 是一个专注于结构化数据提取、指令调用和智能体工作流的开源框架,结合了传统机器学习、大语言模型和视觉大模型的能力。它解决的核心问题是让开发者能够轻松地从非结构化数据(如文档、图片)中提取出符合特定 schema 的字段,并支持将提取结果直接用于触发后续的自动化指令或智能体决策。项目提供了一套简洁的 API 和配置化 schema 定义方式,支持多种模型后端(如 OpenAI、本地模型),并内置了数据校验、错误处理和重试机制,帮助用户构建可靠的数据管道。其亮点在于将视觉信息(如表格、票据)与文本语义结合,实现多模态信息抽取,同时支持流式处理和批量任务,适用于知识库构建、表单自动化、客服工单解析等场景。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5232

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 20 分钟 部署方式:本地安装 6 步

环境要求

  • Python 3.12.10(README 指定版本)
  • pyenv(用于安装和切换 Python 版本)
  • pip(安装 Python 依赖)
  • macOS 处理 PDF 需安装 poppler

安装与启动步骤

  1. 1安装 Python 3.12.10

    用 pyenv 安装 3.12.10 并设为全局版本,保证后续依赖兼容。

    pyenv install 3.12.10
    pyenv global 3.12.10
  2. 2克隆并进入目录

    拉取 sparrow 源码,进入 sparrow-ml/llm 目录,后续命令都在此执行。

    git clone https://github.com/katanaml/sparrow.git
    cd sparrow/sparrow-ml/llm
  3. 3安装解析依赖

    在该目录下根据 requirements_sparrow_parse.txt 安装 Sparrow Parse 所需依赖。

    pip install -r requirements_sparrow_parse.txt
  4. 4安装 poppler

    macOS 处理 PDF 需要 poppler,用 Homebrew 安装;非 macOS 用户可跳过此步。

    brew install poppler
  5. 5启动 API 服务

    在 sparrow-ml/llm 目录运行 api.py,指定 8002 端口启动服务。

    python api.py --port 8002
  6. 6修复 mlx 安装失败

    若 mlx-vlm 安装失败,先升级 pip,再禁用缓存重新安装该包。

    pip install --upgrade pip
    pip install mlx-vlm --no-cache-dir

关键配置

配置项必填说明示例
--port否启动 api.py 时指定 API 服务监听端口8002
--crop-size否图像裁剪尺寸,显存不足时可开启以降低占用100

如何确认成功

执行 pdftoppm -h 能看到帮助信息;再用 curl http://localhost:8002/health 检查服务是否正常响应。

常见问题

Q:mlx-vlm 安装失败怎么办?

A:README 给出的办法是先执行 pip install --upgrade pip,然后运行 pip install mlx-vlm --no-cache-dir 重新安装。

Q:pip install 报 AttributeError: 'NoneType' object has no attri

A:README 将该报错列为已知安装问题,可先按 mlx 修复流程升级 pip 并禁用缓存重装依赖;注意确认使用的是 Python 3.12.10。

Q:PDF 处理相关命令不可用怎么办?

A:macOS 需安装 poppler:brew install poppler,安装后用 pdftoppm -h 验证是否可用。

Q:提示显存或内存不足怎么办?

A:改用更小或 MoE 模型、加 --crop-size 100 开启图像裁剪,或逐页处理 PDF 而非整份文件。

Q:模型加载失败如何排查?

A:先确认服务已运行:curl http://localhost:8002/health,若端口不通说明 api.py 未启动或端口被占用。

注意事项

  • 服务在本机自行运行,README 强调不依赖外部云 API 调用。
  • Python 版本必须按 README 使用 3.12.10,通过 pyenv 管理。
  • 处理 PDF 依赖 poppler,macOS 用 Homebrew 安装。
  • 大文件或多页 PDF 建议逐页处理或开启裁剪,降低显存压力。

核心亮点

  • 支持视觉+文本多模态提取,能处理扫描件和表格。
  • schema 配置灵活,可自定义字段和校验规则。
  • 内置重试和错误处理,提升数据提取的稳定性。

不足之处

  • 依赖外部 LLM API,离线部署成本高。
  • 文档和社区尚在建设中,上手资料有限。

适用场景

  • 自动化处理发票、合同等票据信息录入。
  • 从网页或 PDF 中抽取实体关系构建知识图谱。
  • 在 RPA 流程中作为智能数据解析模块。

替代项目

unstructured、LlamaIndex、LangChain

同类项目推荐

trackers 开源

换检测器就能跑的主流多目标跟踪算法合集

Trackers gives you clean, modular re-implementations of leading multi-object trackin···

★ 3982 2026-10-14
pdf-ocr-obsidian 开源

PDF 秒变 Obsidian 可用的 Markdown 笔记

Convert your PDFs into Markdown files easily with Mistral OCR Software

★ 346 2026-09-19
Occular-ocr 开源

俄语文档扫描件一键转文字,快且准

Fast and accurate OCR for Russian documents

★ 74 2026-10-18
nobg 开源

一行代码调用多种抠图模型,快速生成透明背景图

a library for background removal models

★ 171 2026-08-10
genima 开源

用扩散模型教机器人从演示中学会精细操作

Official Code Repo for GENIMA

★ 77 2026-08-09
YoChameleon 开源

上传一张照片,生成你主演的各种场景图

Yo'Chameleon: Your Personalized Chameleon (CVPR 2025)

★ 152 2026-08-09
DTrOCR 开源

用纯解码器 Transformer 直接生成文字,简化 OCR 识别流程

A PyTorch implementation of DTrOCR: Decoder-only Transformer for Optical Character R···

★ 205 2026-09-19
FrozenBiLM 开源

冻结语言模型,零样本看懂视频回答问题

[NeurIPS 2022] Zero-Shot Video Question Answering via Frozen Bidirectional Language ···

★ 159 2026-08-09