ترويض المستندات الطويلة باستخدام LLMs

قمت ببناء نظام للإجابة على الأسئلة من ملفات PDF تقنية مكونة من 100 صفحة.

فشلت البرمجيات البسيطة. لقد واجهت تحديات مع حدود الرموز (tokens) والتكاليف المرتفعة لأسابيع.

اعتمدت محاولتي الأولى على استخدام GPT-4 مع النص الكامل. نجح هذا مع 10 صفحات، ولكن عند الوصول إلى 100 صفحة، اصطدمت بحد الرموز الأقصى. نسي النموذج التفاصيل الموجودة في المنتصف، وكانت التكاليف باهظة للغاية.

جربت هذه الأساليب:

  • التقسيم الأساسي (Basic chunking): اختار النموذج الأقسام الخاطئة وفقد السياق.
  • تقنية Map-reduce: فقدت التفاصيل المحددة.
  • النوافذ المنزلقة (Sliding windows): كانت هذه الطريقة بطيئة ومكلفة للغاية.

قمت بمحاكاة طريقة القراءة البشرية؛ فنحن نتصفح جدول المحتويات أولاً، ثم نقرأ أقساماً محددة.

إليك سير العمل الجديد:

  • إنشاء تسلسل هرمي: استخدم LLM لإنشاء ملخص قصير لكل جزء (chunk).
  • تخزين الملخصات والنص الكامل في قاعدة بيانات شعاعية (vector database).
  • استخدام البحث الهجين: الجمع بين الكلمات المفتاحية والبحث الدلالي (semantic search).
  • استرجاع أفضل 3 ملخصات أولاً.
  • جلب النص الكامل لتلك الملخصات.
  • تزويد الـ LLM بهذا السياق.

النتائج:

  • انخفضت التكاليف بنسبة 70%.
  • أصبحت المصطلحات التقنية دقيقة الآن.
  • تحسنت الدقة.

نصائح لإعداد نظامك:

  • استخدم GPT-3.5 لإنشاء الملخصات.
  • استخدم GPT-4 للإجابة النهائية.
  • قم ببناء مجموعة بيانات اختبار في وقت مبكر.
  • قم بتضمين النص بالكامل في المطالبة (prompt) للمستندات التي تقل عن 20 صفحة.

المصدر: https://dev.to/__c1b9e06dc90a7e0a676b/how-i-finally-tamed-long-document-analysis-with-llms-it-wasnt-simple-chunking-5ed3