Log in to leave a comment
No posts yet
إذا كنت تقضي 5 ساعات إضافية كل أسبوع في إدخال المئات من ملفات PDF وPPT وExcel في نظام RAG الخاص بك، فإن السبب يكمن في مكتبات التحليل (parsing) المجزأة. الهيكل الحالي الذي يمزج بين PyPDF2 وopenpyxl يزيد من تعقيد الكود فقط. من خلال اعتماد مكتبة MarkItDown من مايكروسوفت، يمكنك التخلص من منطق المعالجة المتشعب والمعقد.
عند إعادة هيكلة خط الأنابيب (pipeline)، استخدم نمط مصنع المعالج (processor factory pattern):
convert() من MarkItDown.يجعل هذا الهيكل محرك التحليل قابلاً للتوسع بشكل مستقل. إذا تم الحفاظ على بنية الجدول، فإن ذلك يقلل من أخطاء حفظ الجداول عند قراءة المستندات بواسطة نماذج اللغة الكبيرة (LLM) بنسبة 34% (بناءً على إعلان مايكروسوفت لعام 2024).
تتناسب تكاليف رموز (tokens) التضمين طردياً مع طول ملف Markdown. تحتوي المخرجات التي تنتجها MarkItDown على بيانات تعريف (metadata) أو ضجيج لا داعي لإرساله إلى نماذج اللغة الكبيرة. بمجرد تصفية هذا المحتوى، يمكنك خفض تكاليف واجهة برمجة التطبيقات بنسبة 30%.
قم ببناء منطق تصفية فعال:
re في بايثون لتقليل الأسطر الفارغة المتتالية (\n{3,}) إلى سطرين، واحذف نصوص حقوق النشر المتكررة في الأسفل أو وسوم HTML باستخدام التعبيرات النمطية.MarkdownHeaderTextSplitter للتقسيم بناءً على العناوين. إدارة أجزاء فرعية للبحث وأجزاء أصلية للسياق تحسن دقة البحث.من خلال الاهتمام بكفاءة الرموز، يمكنك خفض تكاليف واجهة برمجة تطبيقات المؤسسة الشهرية بشكل ملحوظ.
عند تغيير إصدار المكتبة، تتغير نتائج التحليل بشكل طفيف. توقف عن التحقق اليدوي حيث يقوم المهندسون بفتح الملفات واحداً تلو الآخر. سيؤدي اعتماد اختبار اللقطات إلى اكتشاف تدهور الجودة على الفور.
قم بإنشاء بيئة اختبار وحدة لمنع التراجع (regression):
pytest-regressions واحفظ ملفات Markdown المحولة بشكل جيد كملفات "Master الذهبية".هذا النظام الآلي يلغي عمليات المقارنة اليدوية التي كانت تستهلك 5 ساعات أسبوعياً.
معالجة آلاف المستندات بشكل تسلسلي هو إهدار للنظام. باستخدام concurrent.futures.ProcessPoolExecutor لتعميم المعالجة المجمعة، يمكنك إنهاء المهام التي كانت تستغرق أياماً في غضون ساعات فقط.
قم بتنفيذ معمارية التوازي كالتالي:
تساعد هذه الطريقة في استخدام موارد النظام بكفاءة مع الحفاظ على حداثة البيانات.