ML、LLM、Vision LLM によるデータ処理
Sparrow は、さまざまなドキュメントや画像から効率的にデータを抽出して処理するための革新的なオープンソース ソリューションです。フォーム、請求書、領収書、その他の非構造化データ ソースをシームレスに処理します。 Sparrow はモジュラー アーキテクチャで際立っており、堅牢なパフォーマンスを実現するためにすべて最適化された独立したサービスとエージェントを提供します。 Sparrow の重要な機能の 1 つであるプラグイン可能なアーキテクチャ。 Sparrow Parse (ビジョン言語モデルをサポート) や Instructor などのツールやフレームワークを使用して、データ抽出パイプラインを簡単に統合して実行できます。 Sparrow は、vLLM、Ollama、PyTorch、Apple MLX などのさまざまなバックエンドを介したローカル LLM データ抽出パイプラインを有効にします。 VL モデルを使用した Sparrow Parse は、オンプレミスで実行することも、クラウド GPU で推論を実行することもできます。 Sparrow ソリューションを使用すると、データを処理して構造化された出力に変換し、カスタム ワークフローと統合できるようにする API を入手できます。
Sparrow エージェント - Sparrow を使用すると、独立した LLM エージェントを構築し、API を使用してシステムからそれらを呼び出すことができます。
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
インストールしてから、Python を環境にインストールします詳細な手順は以下を参照してください。
詳細については、拡張セクションを参照してください。
Sparrow は CLI または API 経由で実行できます。 CLI で実行するには、 sparrow.sh
スクリプトを使用します。実行するエージェントに応じて、対応する仮想環境から実行します。 sparrow-parse
エージェントは VL LLM モデルを使用しています。 sparrow-parse
エージェントは、MLX、Ollama を使用してローカルで、またはクラウド GPU を使用して VL LLM を実行します。 instructor
エージェントは Ollama バックエンドを使用しています。 instructor
エージェントを実行するには、config.yml で指定された名前を使用して Ollama の LLM モデルをプルしてください。
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) を含む組織の多様なニーズを認識しています。そのため、過去 12 か月の総収益が 500 万ドル未満の組織に対しても、Sparrow を商用目的で無料で提供しており、高品質のソフトウェア ソリューションによく伴う金銭的負担を負うことなく Sparrow を活用できるようになります。
この収益基準を超える企業、または GPL 3.0 ライセンスに対応していない使用条件を必要とする企業 (ソース コードの変更を開示する義務なしに Sparrow を独自のソフトウェアに統合するなど) を必要とする企業には、デュアル ライセンス オプションを提供します。デュアル ライセンスにより、Sparrow を別の独自ライセンスの下で使用できるようになり、商用アプリケーションや独自の統合に対してより高い柔軟性が提供されます。このモデルは、プロジェクトの持続可能性と、機密保持とカスタマイズに対するビジネスのニーズの両方をサポートします。
あなたの組織が独自のライセンスに基づいて Sparrow を利用しようとしている場合、またはカスタム ワークフロー、コンサルティング サービス、または専用のサポートとメンテナンスのオプションに興味がある場合は、[email protected] までお問い合わせください。私たちは、お客様固有の要件を満たすカスタマイズされたソリューションを提供し、お客様のプロジェクトやワークフローで Sparrow の利点を最大限に活用できるようにします。
Katana ML、アンドレイ・バラノフスキー
GPL 3.0に基づいてライセンスされています。著作権 2020-2024 Katana ML、Andrej Baranovskij。ライセンスのコピー。