يمكن أن يتم ضبط نماذج اللغة الكبيرة مع مجموعة من الأسئلة والأجوبة. ومع ذلك ، لمزيد من ضبط نموذج على البيانات الخاصة بك ، تحتاج إلى عدد كبير من الأسئلة والإجابات حول بياناتك. يمكن أن يكون إنتاج هذه الأسئلة والإجابات الكثير من العمل اليدوي.
يتيح لك هذا المستودع استخدام نموذج لغة غير محاط (ChatGPT) لاستخراج أزواج الأسئلة/الإجابة تلقائيًا من البيانات النصية الحالية ، مما يلغي جميع الأعمال اليدوية.
لتشغيل هذا الرمز ، ستحتاج إلى استنساخ هذا المستودع ثم تثبيت حزم Python التالية:
tiktoken ، Tokeniser Openai ،openai ، عميل Openai API الرسمي ،langchain ، رمز الغراء المستخدمة لدمج النماذج والمرافق. تم تصميم هذا البرنامج النصي لتحويل مجلد من المستندات ( .md ) إلى ملف .json يحتوي على قائمة من الأسئلة والإجابات والمسارات إلى المستندات المصدر التي تم استخدامها لإنتاجها.
لتشغيل الرمز ، قم بتعيين مسارات الملف ذات الصلة في ملف question_extractor.py (كل من مجلد الإدخال ومسار الإخراج) والتأكد من أن مفتاح API Openai الخاص بك في البيئة. ثم قم بتشغيل البرنامج النصي مع Python:
python3 question_extractor.py
بمجرد الانتهاء من ذلك ، سيتم كتابة جميع الأسئلة/الإجابات كملف .json في مسار الإخراج.
حلقات الرمز على جميع الملفات ، لكل ملف يستخرج قائمة من الأسئلة باستخدام المطالبة التالية متبوعة بجزء كبير من النص:
You are an expert user extracting information to quiz people on documentation. You will be passed a page extracted from the documentation, write a numbered list of questions that can be answered based *solely* on the given text.
ثم يحلق على الأسئلة ، وإنتاج إجابة عن طريق تمرير المطالبة التالية متبوعة بجزء من النص وسؤال:
You are an expert user answering questions. You will be passed a page extracted from a documentation and a question. Generate a comprehensive and informative answer to the question based *solely* on the given text.
يتم تخصيص معظم المنطق الفعلي للرمز لمعالجة الملفات بشكل متزامن (للسرعة) وتأمين أن أجزاء النص التي تم تمريرها إلى النموذج صغير بما يكفي لترك الرموز الرموز الكافية للرد.
إذا كان النص طويلًا جدًا بحيث لا يمكن إرساله إلى النموذج ، فسيتم تقسيمه على طول أعلى مستوى عنوانه (يمكن تكرار العملية بشكل متكرر إذا لزم الأمر حتى نصل إلى فقرات واحدة).
من ناحية الأداء ، يمكن لهذا البرنامج النصي معالجة وثائق NERSC الكاملة في 6 دقائق 1 . تحويل 318 ملف Markdown إلى 8005 سؤال مقابل 29 دولار.
يعمل في حوالي 93 ٪ من حد معدل النموذج. ↩