使用 ML、LLM 和 Vision LLM 進行資料處理
Sparrow 是一種創新的開源解決方案,用於從各種文件和影像中有效提取和處理資料。它無縫處理表單、發票、收據和其他非結構化資料來源。 Sparrow 以其模組化架構脫穎而出,提供獨立的服務和代理,並針對強大的效能進行了最佳化。 Sparrow 的關鍵功能之一是可插拔架構。您可以使用 Sparrow Parse(支援視覺語言模型)或 Instructor 等工具和框架輕鬆整合和運行資料提取管道。 Sparrow 透過各種後端(例如 vLLM、Ollama、PyTorch 或 Apple MLX)啟用本機 LLM 資料擷取管道。帶有 VL 模型的 Sparrow Parse 可以在本地運行,也可以在雲端 GPU 上執行推理。借助 Sparrow 解決方案,您可以獲得 API,它有助於處理資料並將其轉換為結構化輸出,以便與自訂工作流程整合。
Sparrow 代理 - 使用 Sparrow,您可以建立獨立的 LLM 代理,並使用 API 從您的系統呼叫它們。
嘗試 Sparrow UI shell 應用程式
{
"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 "
},
{
"date" : " 02/02 " ,
"description" : " AB&B Online Payment***** " ,
"withdrawal" : " 71.23 " ,
"deposit" : " " ,
"balance" : " 22,027.00 "
},
{
"date" : " 02/04 " ,
"description" : " Check No. 2345 " ,
"withdrawal" : " " ,
"deposit" : " 450.00 " ,
"balance" : " 22,477.00 "
},
{
"date" : " 02/05 " ,
"description" : " Payroll Direct Dep 23422342 Giants " ,
"withdrawal" : " " ,
"deposit" : " 2,534.65 " ,
"balance" : " 25,011.65 "
},
{
"date" : " 02/06 " ,
"description" : " Signature POS Debit - TJP " ,
"withdrawal" : " 84.50 " ,
"deposit" : " " ,
"balance" : " 24,927.15 "
},
{
"date" : " 02/07 " ,
"description" : " Check No. 234 " ,
"withdrawal" : " 1,400.00 " ,
"deposit" : " " ,
"balance" : " 23,527.15 "
},
{
"date" : " 02/08 " ,
"description" : " Check No. 342 " ,
"withdrawal" : " " ,
"deposit" : " 25.00 " ,
"balance" : " 23,552.15 "
},
{
"date" : " 02/09 " ,
"description" : " FPB AutoPay***** Credit Card " ,
"withdrawal" : " 456.02 " ,
"deposit" : " " ,
"balance" : " 23,096.13 "
},
{
"date" : " 02/08 " ,
"description" : " Check No. 123 " ,
"withdrawal" : " " ,
"deposit" : " 25.00 " ,
"balance" : " 23,552.15 "
},
{
"date" : " 02/09 " ,
"description" : " FPB AutoPay***** Credit Card " ,
"withdrawal" : " 156.02 " ,
"deposit" : " " ,
"balance" : " 23,096.13 "
},
{
"date" : " 02/08 " ,
"description" : " Cash Deposit " ,
"withdrawal" : " " ,
"deposit" : " 25.00 " ,
"balance" : " 23,552.15 "
}
],
"valid" : " true "
}
{
"data" : [
{
"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
},
{
"instrument_name" : " UNITS ISHARES III PLC EUR CORP BOND 1-5YR UCITS ETF/EUR " ,
"valuation" : 213030
},
{
"instrument_name" : " UNIT ISHARES VI PLC/JP MORGAN USD E BOND EUR HED UCITS ETF DIST/HDGD/ " ,
"valuation" : 32774
},
{
"instrument_name" : " UNITS XTRACKERS II SICAV/EUR HY CORP BOND UCITS ETF/-1D-/DISTR. " ,
"valuation" : 23643
}
],
"valid" : " true "
}
pyenv
,然後將 Python 安裝到您的環境中請參閱下面的詳細說明。
有關更多詳細信息,請查看擴展部分。
您可以在 CLI 上或透過 API 執行 Sparrow。若要在 CLI 上執行,請使用sparrow.sh
腳本。從相應的虛擬環境運行它,具體取決於您要執行的代理。 sparrow-parse
代理程式使用 VL LLM 模型。 sparrow-parse
代理程式可以在本地使用 MLX、Ollama 或使用雲端 GPU 運行 VL LLM。 instructor
代理正在使用 Ollama 後端。確保使用 config.yml 中指定的名稱拉取 Ollama 的 LLM 模型以執行instructor
代理程式。
config.yml 中有一個屬性PROTECTED_ACCESS: False
。當設定為False
時, sparrow_key
不會在 API 呼叫時進行驗證。否則,需要為 API 呼叫提供正確的sparrow-key
。
✅ Sparrow Parse 代理,在 Hugging Face 上有 GPU 後端。 GPU 後端katanaml/sparrow-qwen2-vl-7b
是私有的,為了能夠執行下方的指令,您需要使用 Sparrow Parse 的程式碼在 Hugging Face 空間上建立自己的後端。
./sparrow.sh "[{"instrument_name":"str", "valuation":0}]" --agent "sparrow-parse" --debug --options huggingface --options katanaml/sparrow-qwen2-vl-7b --file-path "/data/bonds_table.png"
答:
{
"data" : [
{
"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
},
{
"instrument_name" : " UNITS ISHARES III PLC EUR CORP BOND 1-5YR UCITS ETF/EUR " ,
"valuation" : 213030
},
{
"instrument_name" : " UNIT ISHARES VI PLC/JP MORGAN USD E BOND EUR HED UCITS ETF DIST/HDGD/ " ,
"valuation" : 32774
},
{
"instrument_name" : " UNITS XTRACKERS II SICAV/EUR HY CORP BOND UCITS ETF/-1D-/DISTR. " ,
"valuation" : 23643
}
],
"valid" : " true "
}
✅ Sparrow Parse Agent 支援多頁 PDF 文件。執行專用 GPU 後端katanaml/sparrow-qwen2-vl-7b
的範例。您可以透過 API 端點傳遞 PDF 文檔,響應將按頁構建,並帶有頁碼指示器:
./sparrow.sh "{"table": [{"description": "str", "latest_amount": 0, "previous_amount": 0}]}" --agent "sparrow-parse" --debug --options huggingface --options katanaml/sparrow-qwen2-vl-7b --file-path "/data/oracle_10k_2014_q1_small.pdf" --debug-dir "/data/"
答案範例:
[
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 1
},
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 2
}
]
✅ LLM 函數呼叫範例:
./sparrow.sh assistant --agent "stocks" --query "Oracle"
答:
{
"company" : " Oracle Corporation " ,
"ticker" : " ORCL "
}
The stock price of the Oracle Corporation is 186.3699951171875. USD
Sparrow 讓您能夠使用 FastAPI 將本機 LLM RAG 作為 API 運行,從而提供一種方便且有效率的方式與我們的服務互動。您可以傳遞用於推理的插件的名稱。預設情況下,使用sparrow-parse
代理。
要進行此設定:
透過在終端機中執行以下命令來啟動端點:
python api.py
如果你想同時從不同的Python虛擬環境運行代理,你可以指定端口,以避免衝突:
python api.py --port 8001
您可以透過導覽至以下位置查看 API 的詳細文件:
http://127.0.0.1:8000/api/v1/sparrow-llm/docs
作為視覺參考,FastAPI 端點的螢幕截圖
✅ sparrow-parse
代理,該代理在 Hugging Face 上運行帶有 GPU 後端的 Visual LLM。 GPU 後端katanaml/sparrow-qwen2-vl-7b
是私有的,為了能夠執行下方的指令,您需要使用 Sparrow Parse 的程式碼在 Hugging Face 空間上建立自己的後端。
curl -X 'POST'
'http://127.0.0.1:8000/api/v1/sparrow-llm/inference'
-H 'accept: application/json'
-H 'Content-Type: multipart/form-data'
-F 'query=[{"instrument_name":"str","valuation":0}]'
-F 'agent=sparrow-parse'
-F 'options=huggingface,katanaml/sparrow-qwen2-vl-7b'
-F 'debug=false'
-F 'sparrow_key='
-F 'file=@bonds_table.png;type=image/png'
Sparrow Parse Agent 透過私有 GPU 後端katanaml/sparrow-qwen2-vl-7b
支援多頁 PDF 文件。您可以透過 API 端點傳遞 PDF 文檔,響應將按頁構建,並帶有頁碼指示器:
[
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 1
},
{
"table" : [
{
"description" : " Revenues " ,
"latest_amount" : 12453 ,
"previous_amount" : 11445
},
{
"description" : " Operating expenses " ,
"latest_amount" : 9157 ,
"previous_amount" : 8822
}
],
"valid" : " true " ,
"page" : 2
}
]
Sparrow 可在 GPL 3.0 許可證下使用,促進使用、修改和分發軟體的自由,同時確保任何修改在同一授權下保持開源。這符合我們支持開源社群和促進協作的承諾。
此外,我們認識到包括中小企業 (SME) 在內的組織的多樣化需求。因此,Sparrow 還向過去 12 個月內總收入低於 500 萬美元的組織提供免費商業用途,使他們能夠利用 Sparrow,而無需承擔通常與高品質軟體解決方案相關的財務負擔。
對於超過此收入門檻或需要 GPL 3.0 授權未滿足的使用條款的企業(例如將 Sparrow 整合到專有軟體中而無需披露原始程式碼修改的義務),我們提供雙重授權選項。雙重授權允許 Sparrow 在單獨的專有許可下使用,為商業應用和專有整合提供更大的靈活性。該模型支援專案的可持續性以及業務對機密性和客製化的需求。
如果您的組織正在尋求在專有許可下使用 Sparrow,或者您對自訂工作流程、諮詢服務或專用支援和維護選項感興趣,請透過 [email protected] 與我們聯繫。我們隨時提供滿足您獨特需求的客製化解決方案,確保您能夠最大限度地發揮 Sparrow 對您的專案和工作流程的優勢。
卡塔納 ML,安德烈巴拉諾夫斯基
根據 GPL 3.0 許可。版權所有 2020-2024 Katana ML,Andrej Baranovskij。許可證副本。