مهم
OmniParse عبارة عن منصة تقوم باستيعاب وتحليل أي بيانات غير منظمة إلى بيانات منظمة وقابلة للتنفيذ ومُحسّنة لتطبيقات GenAI (LLM). سواء كنت تعمل مع المستندات أو الجداول أو الصور أو مقاطع الفيديو أو الملفات الصوتية أو صفحات الويب، يقوم OmniParse بإعداد بياناتك لتكون نظيفة ومنظمة وجاهزة لتطبيقات الذكاء الاصطناعي مثل RAG والضبط الدقيق والمزيد.
✅ محلي بالكامل، لا توجد واجهات برمجة تطبيقات خارجية
✅ يناسب وحدة معالجة الرسومات T4
✅ يدعم ~ 20 نوعًا من الملفات
✅ تحويل المستندات والوسائط المتعددة وصفحات الويب إلى تخفيضات منظمة عالية الجودة
✅ استخراج الجدول، واستخراج الصور/التسميات التوضيحية، ونسخ الصوت/الفيديو، والزحف إلى صفحات الويب
✅ يمكن نشره بسهولة باستخدام Docker وSkypilot
✅ صديق للكولاب
✅ واجهة مستخدم تفاعلية مدعومة من Gradio
من الصعب معالجة البيانات لأنها تأتي بأشكال وأحجام مختلفة. يهدف OmniParse إلى أن يكون منصة استيعاب/تحليل حيث يمكنك استيعاب أي نوع من البيانات، مثل المستندات والصور والصوت والفيديو ومحتوى الويب، والحصول على المخرجات الأكثر تنظيمًا وقابلية للتنفيذ والتي تكون صديقة لـ GenAI (LLM).
مهم
يعمل الخادم فقط على الأنظمة المستندة إلى Linux. ويرجع ذلك إلى بعض التبعيات والتكوينات الخاصة بالنظام غير المتوافقة مع نظام التشغيل Windows أو macOS.
git clone https://github.com/adithya-s-k/omniparse
cd omniparse
إنشاء بيئة افتراضية:
conda create -n omniparse-venv python=3.10
conda activate omniparse-venv
تثبيت التبعيات:
poetry install
# or
pip install -e .
# or
pip install -r pyproject.toml
لاستخدام OmniParse مع Docker، قم بتنفيذ الأوامر التالية:
docker pull savatar101/omniparse:0.1
# if you are running on a gpu
docker run --gpus all -p 8000:8000 savatar101/omniparse:0.1
# else
docker run -p 8000:8000 savatar101/omniparse:0.1
وبدلاً من ذلك، إذا كنت تفضل إنشاء صورة Docker محليًا: فقم بتشغيل حاوية Docker على النحو التالي:
docker build -t omniparse .
# if you are running on a gpu
docker run --gpus all -p 8000:8000 omniparse
# else
docker run -p 8000:8000 omniparse
تشغيل الخادم:
python server.py --host 0.0.0.0 --port 8000 --documents --media --web
--documents
: قم بتحميل جميع النماذج التي تساعدك على تحليل المستندات واستيعابها (سلسلة نماذج Surya OCR وFlorence-2).--media
: قم بتحميل نموذج Whisper لنسخ ملفات الصوت والفيديو.--web
: قم بإعداد زاحف السيلينيوم.تنزيل النماذج: إذا كنت تريد تنزيل النماذج قبل بدء تشغيل الخادم
python download.py --documents --media --web
--documents
: قم بتحميل جميع النماذج التي تساعدك على تحليل المستندات واستيعابها (سلسلة نماذج Surya OCR وFlorence-2).--media
: قم بتحميل نموذج Whisper لنسخ ملفات الصوت والفيديو.--web
: قم بإعداد زاحف السيلينيوم. يكتب | الامتدادات المدعومة |
---|---|
وثائق | .doc، .docx، .pdf، .ppt، .pptx |
الصور | .png، .jpg، .jpeg، .tiff، .bmp، .heic |
فيديو | .mp4، .mkv، .avi، .mov |
صوتي | mp3، .wav، .aac |
ويب | صفحات الويب الديناميكية، http://.com |
مكتبة العملاء المتوافقة مع تكاملات Langchain وllamaindex وhaystack ستتوفر قريبًا.
نقطة النهاية: /parse_document
الطريقة: POST
يوزع مستندات PDF أو PowerPoint أو Word.
أمر الضفيرة:
curl -X POST -F "file=@/path/to/document" http://localhost:8000/parse_document
نقطة النهاية: /parse_document/pdf
الطريقة: POST
يوزع وثائق PDF.
أمر الضفيرة:
curl -X POST -F "file=@/path/to/document.pdf" http://localhost:8000/parse_document/pdf
نقطة النهاية: /parse_document/ppt
الطريقة: POST
يوزع عروض PowerPoint التقديمية.
أمر الضفيرة:
curl -X POST -F "file=@/path/to/presentation.ppt" http://localhost:8000/parse_document/ppt
نقطة النهاية: /parse_document/docs
الطريقة: POST
يوزع مستندات Word.
أمر الضفيرة:
curl -X POST -F "file=@/path/to/document.docx" http://localhost:8000/parse_document/docs
نقطة النهاية: /parse_image/image
الطريقة: POST
يوزع ملفات الصور (PNG، JPEG، JPG، TIFF، WEBP).
أمر الضفيرة:
curl -X POST -F "file=@/path/to/image.jpg" http://localhost:8000/parse_media/image
نقطة النهاية: /parse_image/process_image
الطريقة: POST
يعالج صورة بمهمة محددة.
مدخلات المهمة المحتملة: OCR | OCR with Region | Caption | Detailed Caption | More Detailed Caption | Object Detection | Dense Region Caption | Region Proposal
أمر الضفيرة:
curl -X POST -F "image=@/path/to/image.jpg" -F "task=Caption" -F "prompt=Optional prompt" http://localhost:8000/parse_media/process_image
الحجج:
image
: ملف الصورةtask
: مهمة المعالجة (على سبيل المثال، التسمية التوضيحية، واكتشاف الكائنات)prompt
: موجه اختياري لمهام معينة نقطة النهاية: /parse_media/video
الطريقة: POST
يوزع ملفات الفيديو (MP4، AVI، MOV، MKV).
أمر الضفيرة:
curl -X POST -F "file=@/path/to/video.mp4" http://localhost:8000/parse_media/video
نقطة النهاية: /parse_media/audio
الطريقة: POST
يوزع الملفات الصوتية (MP3، WAV، FLAC).
أمر الضفيرة:
curl -X POST -F "file=@/path/to/audio.mp3" http://localhost:8000/parse_media/audio
نقطة النهاية: /parse_website/parse
الطريقة: POST
يوزع موقع ويب باستخدام عنوان URL الخاص به.
أمر الضفيرة:
curl -X POST -H "Content-Type: application/json" -d '{"url": "https://example.com"}' http://localhost:8000/parse_website
الحجج:
url
: عنوان URL لموقع الويب المطلوب تحليله ؟ مؤشر اللاما | لانجشين | ستتوفر عمليات تكامل Haystack قريبًا لمعالجة البيانات المجمعة والتقطيع الديناميكي واستخراج البيانات المنظمة بناءً على مخطط محدد
واجهة برمجة تطبيقات سحرية واحدة: ما عليك سوى إضافة ملفك للمطالبة بما تريد، وسنتولى الباقي
؟ اختيار النموذج الديناميكي ودعم واجهات برمجة التطبيقات الخارجية
؟ معالجة الدفعات للتعامل مع ملفات متعددة في وقت واحد
؟ نموذج جديد مفتوح المصدر ليحل محل Surya OCR وMarker
الهدف النهائي : استبدال جميع النماذج المختلفة المستخدمة حاليًا بنموذج MultiModel واحد لتحليل أي نوع من البيانات والحصول على البيانات التي تحتاجها.
هناك حاجة إلى وحدة معالجة رسومات (GPU) بسعة 8 إلى 10 جيجابايت كحد أدنى من VRAM لأننا نستخدم نماذج التعلم العميق.
قيود تحليل المستندات
OmniParse مرخص بموجب ترخيص GPL-3.0. راجع LICENSE
لمزيد من المعلومات. يستخدم المشروع علامة تحت الغطاء، والتي لديها رخصة تجارية يجب اتباعها. وهنا التفاصيل:
تم تصميم نماذج Marker وSurya OCR بحيث يمكن الوصول إليها على نطاق واسع قدر الإمكان مع الاستمرار في تمويل تكاليف التطوير والتدريب. يُسمح دائمًا بالبحث والاستخدام الشخصي، ولكن هناك بعض القيود على الاستخدام التجاري. أوزان النماذج مرخصة بموجب cc-by-nc-sa-4.0. ومع ذلك، يتم التنازل عن هذا القيد لأي مؤسسة يقل إجمالي إيراداتها عن 5 ملايين دولار أمريكي في آخر 12 شهرًا وتم جمع أقل من 5 ملايين دولار أمريكي من تمويل رأس المال الاستثماري/الملاك مدى الحياة. لإزالة متطلبات ترخيص GPL (الترخيص المزدوج) و/أو استخدام الأوزان تجاريًا بما يتجاوز حد الإيرادات، تحقق من الخيارات المتوفرة. يرجى الرجوع إلى العلامة لمزيد من المعلومات حول ترخيص أوزان النموذج
يعتمد هذا المشروع على مشروع Marker الرائع الذي أنشأه Vik Paruchuri. ونحن نعرب عن امتناننا للإلهام والأساس الذي قدمه هذا المشروع. شكر خاص إلى Surya-OCR وTexify لنماذج التعرف الضوئي على الحروف المستخدمة على نطاق واسع في هذا المشروع، وإلى Crawl4AI لمساهماتهم.
النماذج المستخدمة:
شكرا للمؤلفين لمساهماتهم في هذه النماذج.