يوفر هذا المستودع إطارًا محتملاً يحتوي على أمثلة عملية لتطوير التطبيقات المدعومة بنماذج نماذج اللغة مفتوحة المصدر (LLMs) بالتعاون مع LangChain. على وجه التحديد، يركز هذا الدليل على تنفيذ واستخدام متغيرات GPTQ الكمية ذات 4 بت لمختلف LLMs، مثل WizardLM وWizardLM-Mega. على الرغم من أن الموارد المخصصة لهذا الموضوع المحدد محدودة عبر الإنترنت، إلا أن هذا المستودع يهدف إلى سد هذه الفجوة وتقديم أدلة شاملة.
يوفر تشغيل LLMs محليًا العديد من المزايا، حيث تعد الخصوصية عاملاً رئيسياً. من خلال الاحتفاظ ببياناتك داخل أجهزتك الخاصة، يمكنك الاستفادة من إمكانيات هذه النماذج دون الاعتماد على واجهات برمجة التطبيقات الخارجية، مما يضمن تحكمًا أكبر في بياناتك وتمكين تطوير التطبيقات المثيرة.
nvidia-smi
)ملاحظة: سيتم إضافة دعم عامل الميناء.
نماذج GPTQ التالية مدعومة في الوقت الحالي:
من أجل البدء في استخدام نماذج GPTQ مع langchain، هناك بعض الخطوات المهمة:
quant_cuda
بشكل صحيحdemo.py
واستخدام LLM مع LangChain تمامًا كما تفعل مع نماذج OpenAI.قم بتثبيت Miniconda باتباع التعليمات الواردة من الموقع الرسمي.
للتحقق مما إذا تم إعداد conda بشكل صحيح
$ conda --version
قم بتهيئة conda على الصدفة الخاصة بك
$ conda init
أنشئ بيئة كوندا جديدة، وتأكد من استخدام إصدار Python المحدد لأنه تم اختباره فقط على 3.10.9
$ conda create -n wizardlm_langchain python=3.10.9
بمجرد إنشاء البيئة الجديدة، قم بتنشيطها.
$ conda activate wizardlm_langchain
تتم العملية برمتها التي تمت مناقشتها أعلاه من 2 إلى 4 تلقائيًا باستخدام البرنامج النصي setup.sh
bash. لا تتردد في تعديله وفقا لترضيك.
$ bash ./setup.sh
يجب أن يتم تشغيل جميع الخطوات بشكل مثالي دون أخطاء إذا تم إعداد البيئة بشكل صحيح.
إذا كنت تواجه الاستثناء التالي أثناء تشغيل العرض التوضيحي:
Exception: Error while deserializing header: HeaderTooLarge
فهذا يعني أنه لم يتم تنزيل النموذج بالكامل، لذا يمكنك محاولة إعادة تنزيله باستخدام أمر git clone
الموجود في setup.py
.
قبل تشغيل العرض التوضيحي، من الجيد إلغاء تنشيط البيئة وإعادة تنشيطها عند إعدادها لأول مرة.
قم بتشغيل العرض التوضيحي:
$ python demo.py
سيؤدي استخدام setup.sh
افتراضيًا إلى تنزيل نموذج wizardLM-7B-GPTQ، ولكن إذا كنت تريد استخدام نماذج أخرى تم اختبارها مع هذا المشروع، فيمكنك استخدام البرنامج النصي download_model.sh
.
$ download_model.sh < HUGGING FACE MODEL NAME >
# Example
$ ./download_model.sh " TheBloke/WizardLM-7B-uncensored-GPTQ "
ملاحظة: إذا لم تتمكن من تنزيل النماذج الكاملة من HF، فتأكد من تكوين Git LFS بشكل صحيح. قد يؤدي الأمر
git lfs install
في بعض الأحيان إلى إنجاز المهمة.
بمجرد الانتهاء من عملية الإعداد، يمكنك استخدام نماذج GPTQ مع LangChain باتباع الخطوات التالية:
تأكد من إلحاق
wizardlm_langchain
root project dir بـ PYTHONPATH لاستخدامه عالميًا
ارجع إلى مثال البرنامج النصي demo.py
لفهم كيفية استخدامه.
المساهمات في هذا المستودع هي موضع ترحيب. إذا وجدت أي مشاكل أو لديك اقتراحات للتحسينات، فلا تتردد في فتح مشكلة أو إرسال طلب سحب.
عند المساهمة يرجى الالتزام بالإرشادات التالية:
هذا المستودع مرخص بموجب رخصة جنو العامة. راجع ملف الترخيص لمزيد من المعلومات.
نود أن نشيد بمساهمات مجتمع المصادر المفتوحة ومطوري نماذج GPTQ الأصلية المستخدمة في هذا المستودع. مليون شكر لـ oobabooga/text-generation-webui، لقد كان عملهم مفيدًا جدًا لإعداد نماذج GPTQ باستخدام langchain.