Pengolahan data dengan ML, LLM dan Vision LLM
Sparrow adalah solusi sumber terbuka inovatif untuk ekstraksi dan pemrosesan data yang efisien dari berbagai dokumen dan gambar. Ini menangani formulir, faktur, tanda terima, dan sumber data tidak terstruktur lainnya dengan lancar. Sparrow menonjol dengan arsitektur modularnya, menawarkan layanan dan agen independen yang semuanya dioptimalkan untuk kinerja yang kuat. Salah satu fungsi penting dari arsitektur Sparrow adalah pluggable. Anda dapat dengan mudah mengintegrasikan dan menjalankan alur ekstraksi data menggunakan alat dan kerangka kerja seperti Sparrow Parse (dengan dukungan model bahasa visi) atau Instruktur dengan Tidak Terstruktur. Sparrow mengaktifkan jalur ekstraksi data LLM lokal melalui berbagai backend, seperti vLLM, Ollama, PyTorch, atau Apple MLX. Sparrow Parse dengan model VL dapat berjalan di premis, atau dapat mengeksekusi inferensi pada GPU cloud. Dengan solusi Sparrow Anda mendapatkan API, yang membantu memproses dan mengubah data Anda menjadi keluaran terstruktur, siap diintegrasikan dengan alur kerja khusus.
Agen Sparrow - dengan Sparrow Anda dapat membangun agen LLM independen, dan menggunakan API untuk memanggilnya dari sistem Anda.
Coba aplikasi shell Sparrow UI
{
"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
lalu instal Python ke lingkungan AndaLihat petunjuk rinci di bawah.
Untuk lebih jelasnya, lihat bagian tambahan.
Anda dapat menjalankan Sparrow di CLI atau melalui API. Untuk berjalan di CLI, gunakan skrip sparrow.sh
. Jalankan dari lingkungan virtual yang sesuai, bergantung pada agen mana yang ingin Anda jalankan. agen sparrow-parse
menggunakan model VL LLM. agen sparrow-parse
menjalankan VL LLM baik secara lokal dengan MLX, Ollama, atau menggunakan cloud GPU. agen instructor
menggunakan backend Ollama. Pastikan untuk menarik model LLM untuk Ollama menggunakan nama yang ditentukan di config.yml untuk menjalankan agen instructor
.
Ada properti PROTECTED_ACCESS: False
di config.yml. Jika disetel ke False
, sparrow_key
tidak diverifikasi pada panggilan API. Jika tidak, sparrow-key
yang benar perlu disediakan untuk panggilan API.
✅ Agen Sparrow Parse, dengan backend GPU di Hugging Face. Backend GPU katanaml/sparrow-qwen2-vl-7b
bersifat pribadi, untuk dapat menjalankan perintah di bawah ini, Anda perlu membuat backend sendiri di ruang Hugging Face menggunakan kode dari Sparrow Parse.
./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"
Menjawab:
{
"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 mendukung dokumen PDF multi-halaman. Contoh menjalankan backend GPU pribadi katanaml/sparrow-qwen2-vl-7b
. Anda dapat meneruskan dokumen PDF melalui titik akhir API, respons akan terstruktur per halaman dengan indikator nomor halaman:
./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/"
Contoh jawaban:
[
{
"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
}
]
✅ Contoh panggilan fungsi LLM:
./sparrow.sh assistant --agent "stocks" --query "Oracle"
Menjawab:
{
"company" : " Oracle Corporation " ,
"ticker" : " ORCL "
}
The stock price of the Oracle Corporation is 186.3699951171875. USD
Sparrow memungkinkan Anda menjalankan LLM RAG lokal sebagai API menggunakan FastAPI, menyediakan cara yang nyaman dan efisien untuk berinteraksi dengan layanan kami. Anda dapat memberikan nama plugin yang akan digunakan untuk inferensi. Secara default, agen sparrow-parse
digunakan.
Untuk mengaturnya:
Luncurkan titik akhir dengan menjalankan perintah berikut di terminal Anda:
python api.py
Jika Anda ingin menjalankan agen dari lingkungan virtual Python yang berbeda secara bersamaan, Anda dapat menentukan port, untuk menghindari konflik:
python api.py --port 8001
Anda dapat melihat dokumentasi detail untuk API dengan membuka:
http://127.0.0.1:8000/api/v1/sparrow-llm/docs
Untuk referensi visual, tangkapan layar titik akhir FastAPI
✅ agen sparrow-parse
, agen ini menjalankan Visual LLM dengan backend GPU di Hugging Face. Backend GPU katanaml/sparrow-qwen2-vl-7b
bersifat pribadi, untuk dapat menjalankan perintah di bawah ini, Anda perlu membuat backend sendiri di ruang Hugging Face menggunakan kode dari Sparrow Parse.
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 mendukung dokumen PDF multi-halaman dengan backend GPU pribadi katanaml/sparrow-qwen2-vl-7b
. Anda dapat meneruskan dokumen PDF melalui titik akhir API, respons akan terstruktur per halaman dengan indikator nomor halaman:
[
{
"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 tersedia di bawah lisensi GPL 3.0, mempromosikan kebebasan untuk menggunakan, memodifikasi, dan mendistribusikan perangkat lunak sambil memastikan setiap modifikasi tetap bersifat open source di bawah lisensi yang sama. Hal ini sejalan dengan komitmen kami untuk mendukung komunitas sumber terbuka dan membina kolaborasi.
Selain itu, kami menyadari beragamnya kebutuhan organisasi, termasuk usaha kecil dan menengah (UKM). Oleh karena itu, Sparrow juga ditawarkan untuk penggunaan komersial gratis kepada organisasi dengan pendapatan kotor di bawah $5 juta USD dalam 12 bulan terakhir, memungkinkan mereka memanfaatkan Sparrow tanpa beban keuangan yang sering dikaitkan dengan solusi perangkat lunak berkualitas tinggi.
Untuk bisnis yang melebihi ambang batas pendapatan ini atau memerlukan ketentuan penggunaan yang tidak diakomodasi oleh lisensi GPL 3.0—seperti mengintegrasikan Sparrow ke dalam perangkat lunak berpemilik tanpa kewajiban untuk mengungkapkan modifikasi kode sumber—kami menawarkan opsi lisensi ganda. Lisensi ganda memungkinkan Sparrow untuk digunakan di bawah lisensi kepemilikan terpisah, menawarkan fleksibilitas lebih besar untuk aplikasi komersial dan integrasi kepemilikan. Model ini mendukung keberlanjutan proyek dan kebutuhan bisnis akan kerahasiaan dan penyesuaian.
Jika organisasi Anda ingin menggunakan Sparrow di bawah lisensi kepemilikan, atau jika Anda tertarik dengan alur kerja khusus, layanan konsultasi, atau opsi dukungan dan pemeliharaan khusus, silakan hubungi kami di [email protected]. Kami hadir untuk memberikan solusi khusus yang memenuhi kebutuhan unik Anda, memastikan Anda dapat memaksimalkan manfaat Sparrow untuk proyek dan alur kerja Anda.
Katana ML, Andrej Baranovskij
Berlisensi di bawah GPL 3.0. Hak Cipta 2020-2024 Katana ML, Andrej Baranovskij. Salinan lisensi.