项目介绍:Sparrow
Sparrow 是一个创新的开源解决方案,专注于从各种文档和图像中高效地提取和处理数据。它可以无缝处理表单、发票、收据和其他非结构化数据源。Sparrow 以其模块化架构而著称,提供独立的服务和代理,旨在实现强大的性能和扩展性。
模块化架构与插件功能
Sparrow 的一个关键功能是其可插拔架构。用户可以轻松集成和运行数据提取流水线,利用诸如 Sparrow Parse(支持视觉语言模型)或 Unstructured 的 Instructor 等工具和框架。Sparrow 支持多种后台执行本地 LLM(大语言模型)数据提取流水线,如 vLLM、Ollama、PyTorch 或 Apple MLX。Sparrow Parse 与 VL 模型能够在本地或云端 GPU 上执行推理。
API 接口
通过 Sparrow 解决方案,用户可以获得 API 接口,帮助将数据加工成结构化输出,方便与定制工作流集成。
Sparrow Agents
用户可以使用 Sparrow 构建独立的 LLM 代理,并通过 API 从系统中调用它们。
Sparrow 的组成组件
- Sparrow ML LLM:Sparrow 的主引擎,运行各种代理。
- Sparrow Parse:启用 Sparrow Parse 代理的库,使用视觉语言模型,擅长生成结构化的 JSON 响应。
- Sparrow OCR:光学字符识别服务。
- Sparrow UI:提供仪表板用户界面。
Sparrow UI
用户可以尝试 Sparrow UI 外壳应用。
数据提取示例
银行对账单
Sparrow 可以从银行对账单中提取数据,如下是提取后的 JSON 数据示例:
{
"bank": "First Platypus Bank",
"address": "1234 Kings St., New York, NY 12123",
"account_holder": "Mary G. Orta",
"account_number": "1234567890123",
"statement_date": "3/1/2022",
"period_covered": "2/1/2022 - 3/1/2022",
"account_summary": {
"balance_on_march_1": "$25,032.23",
"total_money_in": "$10,234.23",
"total_money_out": "$10,532.51"
},
"transactions": [
{
"date": "02/01",
"description": "PGD EasyPay Debit",
"withdrawal": "203.24",
"deposit": "",
"balance": "22,098.23"
},
...
]
}
债券表
Sparrow 还能够处理债券数据表,并将其提取为结构化的 JSON 格式:
[
{
"instrument_name": "UNITS BLACKROCK FIX INC DUB FDS PLC ISHS EUR INV GRD CP BD IDX/INST/E",
"valuation": 19049
},
{
"instrument_name": "UNITS ISHARES III PLC CORE EUR GOVT BOND UCITS ETF/EUR",
"valuation": 83488
},
...
]
快速启动指南
- 安装
pyenv
并在环境中安装 Python。 - 为要运行的 Sparrow 代理创建虚拟环境。
- 安装您希望使用的 Sparrow 代理的相关依赖。
- 从 CLI 或 API 运行 Sparrow。需启动 API 端点。
- 通过 JSON schema 形式的查询来从文档中提取数据。
API 使用示例
Sparrow 允许用户通过 FastAPI 在本地以 API 形式运行 LLM,提供了一种便捷高效的交互方式。
设置方法如下:
-
启动端点:
python api.py
-
访问端点文档:
http://127.0.0.1:8000/api/v1/sparrow-llm/docs
商业使用
Sparrow 在 GPL 3.0 许可证下提供,允许用户自由使用、修改和分发软件,并确保修改后的版本在同一许可证下保持开源。同时,对于年收入低于 500 万美元的小型企业,Sparrow 提供可免费商业使用的选项。
对于超过该收入门槛的企业,或需要 GPL 3.0 许可证不涵盖的使用条款,我们提供双重许可选项。双重许可允许在专有许可证下使用 Sparrow,适用于商业应用和专有集成。
如需在专有许可下使用 Sparrow,或有兴趣定制工作流、咨询服务、支持与维护选项,请联系我们:abaranovskis@redsamuraiconsulting.com。
作者及版权
由 Katana ML 和 Andrej Baranovskij 开发,并在 GPL 3.0 许可证下授权。详细信息请查看 许可证副本。