معالجة البيانات باستخدام ML وLLM وVision LLM
Sparrow هو حل مبتكر مفتوح المصدر لاستخراج البيانات ومعالجتها بكفاءة من مختلف المستندات والصور. فهو يتعامل بسلاسة مع النماذج والفواتير والإيصالات ومصادر البيانات غير المنظمة الأخرى. تتميز Sparrow ببنيتها المعيارية، حيث تقدم خدمات ووكلاء مستقلين تم تحسينهم جميعًا لتحقيق أداء قوي. إحدى الوظائف الحاسمة في Sparrow هي البنية القابلة للتوصيل. يمكنك بسهولة دمج وتشغيل خطوط أنابيب استخراج البيانات باستخدام أدوات وأطر عمل مثل Sparrow Parse (مع دعم نماذج لغة الرؤية) أو Instructor مع Unstructured. يعمل Sparrow على تمكين خطوط أنابيب استخراج بيانات LLM المحلية من خلال واجهات خلفية مختلفة، مثل vLLM أو Ollama أو PyTorch أو Apple MLX. يمكن تشغيل Sparrow Parse مع نموذج VL إما محليًا، أو يمكنه تنفيذ الاستدلال على وحدة معالجة الرسومات السحابية. باستخدام حل 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 في بيئتكانظر التعليمات التفصيلية أدناه.
لمزيد من التفاصيل، راجع القسم الموسع.
يمكنك تشغيل Sparrow على CLI أو من خلال API. للتشغيل على واجهة سطر الأوامر (CLI)، استخدم البرنامج النصي sparrow.sh
. قم بتشغيله من البيئة الافتراضية المقابلة، اعتمادًا على الوكيل الذي تريد تنفيذه. يستخدم وكيل sparrow-parse
نموذج VL LLM. يقوم وكيل sparrow-parse
بتشغيل VL LLM إما محليًا باستخدام MLX أو Ollama أو باستخدام GPU السحابي. يستخدم وكيل instructor
الواجهة الخلفية لـ Ollama. تأكد من سحب نموذج LLM لـ Ollama باستخدام الاسم المحدد في config.yml لتشغيل وكيل instructor
.
توجد خاصية PROTECTED_ACCESS: False
في config.yml. عند التعيين على False
، لا يتم التحقق من sparrow_key
عند استدعاء API. وإلا فيجب توفير sparrow-key
الصحيح لاستدعاء واجهة برمجة التطبيقات.
✅ وكيل Sparrow Parse، مع واجهة GPU الخلفية على Hugging Face. الواجهة الخلفية لوحدة معالجة الرسومات katanaml/sparrow-qwen2-vl-7b
خاصة، لتتمكن من تشغيل الأمر أدناه، تحتاج إلى إنشاء الواجهة الخلفية الخاصة بك على مساحة Hugging Face باستخدام التعليمات البرمجية من 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"
إجابة:
{
"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 متعددة الصفحات. مثال على تشغيل الواجهة الخلفية لوحدة معالجة الرسومات الخاصة katanaml/sparrow-qwen2-vl-7b
. يمكنك تمرير مستند PDF من خلال نقطة نهاية API، وسيتم تنظيم الاستجابة لكل صفحة مع مؤشرات رقم الصفحة:
./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 من تشغيل LLM RAG محلي كواجهة برمجة التطبيقات (API) باستخدام FastAPI، مما يوفر طريقة مريحة وفعالة للتفاعل مع خدماتنا. يمكنك تمرير اسم البرنامج المساعد لاستخدامه في الاستدلال. بشكل افتراضي، يتم استخدام عامل sparrow-parse
.
لإعداد هذا:
قم بتشغيل نقطة النهاية عن طريق تنفيذ الأمر التالي في جهازك الطرفي:
python api.py
إذا كنت تريد تشغيل وكلاء من بيئات بايثون افتراضية مختلفة في وقت واحد، فيمكنك تحديد المنفذ لتجنب التعارضات:
python api.py --port 8001
يمكنك عرض الوثائق التفصيلية لواجهة برمجة التطبيقات (API) بالانتقال إلى:
http://127.0.0.1:8000/api/v1/sparrow-llm/docs
كمرجع مرئي، لقطة شاشة لنقطة نهاية FastAPI
✅ وكيل sparrow-parse
، يقوم هذا الوكيل بتشغيل Visual LLM مع واجهة GPU الخلفية على Hugging Face. الواجهة الخلفية لوحدة معالجة الرسومات katanaml/sparrow-qwen2-vl-7b
خاصة، لتتمكن من تشغيل الأمر أدناه، تحتاج إلى إنشاء الواجهة الخلفية الخاصة بك على مساحة Hugging Face باستخدام التعليمات البرمجية من 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 مستندات PDF متعددة الصفحات مع واجهة GPU الخلفية الخاصة katanaml/sparrow-qwen2-vl-7b
. يمكنك تمرير مستند PDF من خلال نقطة نهاية API، وسيتم تنظيم الاستجابة لكل صفحة مع مؤشرات رقم الصفحة:
[
{
"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، مما يعزز حرية استخدام البرنامج وتعديله وتوزيعه مع ضمان بقاء أي تعديلات مفتوحة المصدر بموجب نفس الترخيص. يتماشى هذا مع التزامنا بدعم مجتمع المصادر المفتوحة وتعزيز التعاون.
بالإضافة إلى ذلك، نحن ندرك الاحتياجات المتنوعة للمؤسسات، بما في ذلك الشركات الصغيرة والمتوسطة. ولذلك، يتم تقديم Sparrow أيضًا للاستخدام التجاري المجاني للمؤسسات التي يقل إجمالي إيراداتها عن 5 ملايين دولار أمريكي في الأشهر الـ 12 الماضية، مما يمكنها من الاستفادة من Sparrow دون العبء المالي المرتبط غالبًا بالحلول البرمجية عالية الجودة.
بالنسبة للشركات التي تتجاوز حد الإيرادات هذا أو تتطلب شروط استخدام لا تتوافق مع ترخيص GPL 3.0 — مثل دمج Sparrow في البرامج الاحتكارية دون الالتزام بالكشف عن تعديلات كود المصدر — فإننا نقدم خيارات الترخيص المزدوج. يسمح الترخيص المزدوج باستخدام Sparrow بموجب ترخيص ملكية منفصل، مما يوفر مرونة أكبر للتطبيقات التجارية وتكاملات الملكية. يدعم هذا النموذج استدامة المشروع واحتياجات العمل من السرية والتخصيص.
إذا كانت مؤسستك تسعى إلى استخدام Sparrow بموجب ترخيص ملكية، أو إذا كنت مهتمًا بسير العمل المخصص، أو الخدمات الاستشارية، أو خيارات الدعم والصيانة المخصصة، فيرجى الاتصال بنا على [email protected]. نحن هنا لتقديم حلول مخصصة تلبي متطلباتك الفريدة، مما يضمن إمكانية تحقيق أقصى قدر من فوائد Sparrow لمشاريعك وسير العمل.
كاتانا مل، أندريه بارانوفسكي
مرخص بموجب GPL 3.0. حقوق الطبع والنشر 2020-2024 كاتانا ML، أندريه بارانوفسكي. نسخة من الرخصة.