قم بتقطيع المستندات المعقدة بسهولة بنفس الطريقة التي يفعلها الإنسان.
يعد تقطيع المستندات مهمة صعبة تدعم أي نظام RAG. تعد النتائج عالية الجودة أمرًا بالغ الأهمية لنجاح تطبيق الذكاء الاصطناعي، إلا أن معظم المكتبات مفتوحة المصدر محدودة في قدرتها على التعامل مع المستندات المعقدة.
تم تصميم Open Parse لسد هذه الفجوة من خلال توفير مكتبة مرنة وسهلة الاستخدام قادرة على تمييز تخطيطات المستندات بصريًا وتقسيمها بشكل فعال.
يؤدي تقسيم النص إلى تحويل الملف إلى نص خام وتقطيعه إلى شرائح.
هناك بعض المكتبات الرائعة مثل محلل التخطيط.
؟ مدفوعة بصريًا: يقوم Open-Parse بتحليل المستندات بصريًا للحصول على مدخلات LLM فائقة الجودة، بما يتجاوز تقسيم النص البسيط.
✍️ دعم تخفيض السعر: دعم تخفيض السعر الأساسي لتحليل العناوين والخط العريض والمائل.
دعم الجدول عالي الدقة: قم باستخراج الجداول إلى تنسيقات Markdown نظيفة بدقة تفوق الأدوات التقليدية.
قابلة للتوسيع: قم بتنفيذ خطوات ما بعد المعالجة الخاصة بك بسهولة.
بديهية: دعم محرر رائع. الانتهاء في كل مكان. وقت أقل في التصحيح.
سهل: مصمم ليكون سهل الاستخدام والتعلم. وقت أقل في قراءة المستندات.
import openparse
basic_doc_path = "./sample-docs/mobile-home-manual.pdf"
parser = openparse . DocumentParser ()
parsed_basic_doc = parser . parse ( basic_doc_path )
for node in parsed_basic_doc . nodes :
print ( node )
؟ جرب نموذج دفتر الملاحظات هنا
إن تقطيع المستندات يدور بشكل أساسي حول تجميع العقد الدلالية المتشابهة معًا. ومن خلال تضمين نص كل عقدة، يمكننا بعد ذلك تجميعها معًا بناءً على تشابهها.
from openparse import processing , DocumentParser
semantic_pipeline = processing . SemanticIngestionPipeline (
openai_api_key = OPEN_AI_KEY ,
model = "text-embedding-3-large" ,
min_tokens = 64 ,
max_tokens = 1024 ,
)
parser = DocumentParser (
processing_pipeline = semantic_pipeline ,
)
parsed_content = parser . parse ( basic_doc_path )
؟ عينة من دفتر الملاحظات هنا
يستخدم pydantic تحت الغطاء حتى تتمكن من إجراء تسلسل للنتائج باستخدامه
parsed_content . dict ()
# or to convert to a valid json dict
parsed_content . json ()
بايثون 3.8+
التعامل مع ملفات PDF:
استخراج الجداول:
pip install openparse
تمكين دعم التعرف الضوئي على الحروف :
سيحتوي PyMuPDF بالفعل على كل المنطق لدعم وظائف التعرف الضوئي على الحروف. ولكنه يحتاج أيضًا إلى بيانات دعم اللغة الخاصة بـ Tesseract، لذلك لا يزال تثبيت Tesseract-OCR مطلوبًا.
يجب الإبلاغ عن موقع مجلد دعم اللغة إما عن طريق تخزينه في متغير البيئة "TESSDATA_PREFIX"، أو كمعلمة في الوظائف القابلة للتطبيق.
لذا، للحصول على وظيفة التعرف الضوئي على الحروف (OCR) بشكل فعال، تأكد من إكمال قائمة التحقق هذه:
قم بتثبيت تيسيراكت.
حدد موقع مجلد دعم اللغة الخاص بـ Tesseract. عادةً ستجده هنا:
ويندوز: C:/Program Files/Tesseract-OCR/tessdata
أنظمة يونكس: /usr/share/tesseract-ocr/5/tessdata
macOS (مثبت عبر Homebrew):
/opt/homebrew/share/tessdata
/opt/homebrew/Cellar/tesseract/<version>/share/tessdata/
قم بتعيين متغير البيئة TESSDATA_PREFIX
ويندوز: setx TESSDATA_PREFIX "C:/Program Files/Tesseract-OCR/tessdata"
أنظمة يونكس: declare -x TESSDATA_PREFIX=/usr/share/tesseract-ocr/5/tessdata
macOS (مثبت عبر Homebrew): export TESSDATA_PREFIX=$(brew --prefix tesseract)/share/tessdata
ملاحظة: في أنظمة Windows، يجب أن يحدث هذا خارج Python – قبل بدء البرنامج النصي الخاص بك. مجرد التلاعب بـ os.environ لن ينجح!
يوفر هذا المستودع ميزة اختيارية لتحليل المحتوى من الجداول باستخدام مجموعة متنوعة من نماذج التعلم العميق.
pip install "openparse[ml]"
ثم قم بتحميل نموذج الأوزان مع
openparse-download
يمكنك تشغيل التحليل بما يلي.
parser = openparse . DocumentParser (
table_args = {
"parsing_algorithm" : "unitable" ,
"min_table_confidence" : 0.8 ,
},
)
parsed_nodes = parser . parse ( pdf_path )
لاحظ أننا نستخدم حاليًا محولات الجدول لجميع اكتشافات الجدول ونجد أن أدائها دون المستوى. يؤثر هذا سلبًا على النتائج النهائية للوحدة. إذا كنت على دراية بنموذج أفضل، فيرجى فتح مشكلة - ذكر الفريق المتحد أنه قد يضيف هذا قريبًا أيضًا.
https://github.com/Filimoa/open-parse/tree/main/src/cookbooks
https://filimoa.github.io/open-parse/
هل تحتاج حالة الاستخدام الخاصة بك إلى شيء خاص؟ تواصل معنا.