يسهل هذا المستودع تدريب نموذج اللغة على مستوى الأحرف أو مستوى الكلمات بناءً على رسائل دردشة WhatsApp فقط. بعد التدريب النموذجي، يمكن للمرء بدء محادثة اصطناعية مع مجموعة دردشة Whatsapp المدربة.
assets/input/chat.txt
هي مجرد عنصر نائب، ليتم استبداله بالمجموعة الفعلية لرسائل الدردشة. |-- assets
| |-- input
| | |-- chat.txt
| |-- output
| | |-- contacts.txt
| | |-- vocab.txt
| | |-- train.pt
| | |-- valid.pt
| |-- models
| | |--model.pt
|-- src
| |-- chat.py
| |-- model.py
| |-- preprocess.py
| |-- train.py
| |-- utils.py
|-- config.py
|-- run.py
assets/input/chat.txt:
يجب أن يكون ملف الإدخال عبارة عن دردشة WhatsApp مُصدَّرة (بدون وسائط).assets/output/:
سيتم كتابة بيانات التدريب/التحقق المشفرة والنموذج المُدرب في هذا الموقع.assets/models/model.pt:
كائن نموذج pytorch مُدرب.src/preprocess.py:
يحول رسائل الدردشة إلى موترات PyTorch مشفرة. يتم تقسيم البيانات إلى مجموعة التدريب والتحقق من الصحة.src/model.py:
يحدد فئة نموذج اللغة.src/train.py:
يحتوي على كود لتدريب نموذج اللغة.src/chat.py:
يحتوي على وظيفة التفاعل التحادثي مع النموذج.src/utils.py:
وظائف مفيدة أخرى.run.py:
البرنامج النصي الرئيسي مع محلل وسيطة لاستدعاء أي من الإجراءات الثلاثة ("المعالجة المسبقة"، "التدريب"، "الدردشة").config.py:
يتم تسجيل معلمات المعالجة المسبقة والتدريب النموذجي. git clone https://github.com/bernhard-pfann/lad-gpt.git
cd lad-gpt
pip install -r requirements.txt
للاستفادة من هذا المشروع بشكل كامل، ستحتاج إلى ملف .txt يحتوي على رسائل من دردشة WhatsApp. فيما يلي خطوات تصدير دردشة مجموعة WhatsApp إلى ملف بتنسيق txt:
بمجرد حصولك على ملف .txt، ضعه في دليل assets/input
، المسمى chat.txt
. ثم أنت على استعداد للذهاب!
بمجرد إدخال البيانات في مكانها الصحيح، يجب تشفير الدردشات إلى موترات رقمية. يتم أيضًا تقسيم البيانات المشفرة إلى مجموعة تدريب وتحقق من الصحة:
python run.py preprocess
لتدريب نموذج لغة من الصفر وبالاعتماد فقط على بيانات الدردشة المشفرة. قم بتعيين --update
في حالة رغبتك في مواصلة تدريب نموذج بالفعل.
python run.py train --update
لبدء محادثة مع النموذج المُدرب:
python run.py chat