Dieses Repository erleichtert das Training eines Sprachmodells auf Zeichen- oder Wortebene, das ausschließlich auf WhatsApp-Chatnachrichten basiert. Nach dem Modelltraining kann man mit der geschulten WhatsApp-Chatgruppe ein synthetisches Gespräch beginnen.
assets/input/chat.txt
ist lediglich ein Platzhalter, der durch den eigentlichen Korpus der Chat-Nachrichten ersetzt werden muss. |-- 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:
Die Eingabedatei muss ein exportierter WhatsApp-Chat (ohne Medien) sein.assets/output/:
Die codierten Trainings-/Validierungsdaten und das trainierte Modell werden in diese Lokalisierung geschrieben.assets/models/model.pt:
Trainiertes Pytorch-Modellobjekt.src/preprocess.py:
Konvertiert Chat-Nachrichten in codierte PyTorch-Tensoren. Die Daten werden in Trainings- und Validierungssätze aufgeteilt.src/model.py:
Definiert die Sprachmodellklasse.src/train.py:
Enthält Code zum Trainieren des Sprachmodells.src/chat.py:
Enthält die Funktion für die Konversationsinteraktion mit dem Modell.src/utils.py:
Weitere nützliche Dienstprogrammfunktionen.run.py:
Das Hauptskript mit einem Argumentparser zum Aufrufen einer der drei Aktionen („Vorverarbeitung“, „Train“, „Chat“).config.py:
Parameter für Vorverarbeitung und Modelltraining werden aufgezeichnet. git clone https://github.com/bernhard-pfann/lad-gpt.git
cd lad-gpt
pip install -r requirements.txt
Um dieses Projekt vollständig nutzen zu können, benötigen Sie eine TXT-Datei, die Nachrichten aus einem WhatsApp-Chat enthält. Hier sind die Schritte zum Exportieren Ihres WhatsApp-Gruppenchats in eine TXT-Datei:
Sobald Sie die TXT-Datei haben, legen Sie sie im assets/input
-Verzeichnis mit dem Namen chat.txt
ab. Dann sind Sie startklar!
Sobald die Eingabedaten vorliegen, müssen die Chats in numerische Tensoren kodiert werden. Die codierten Daten werden außerdem in Trainings- und Validierungssätze unterteilt:
python run.py preprocess
Um ein Sprachmodell von Grund auf und ausschließlich auf der Grundlage der codierten Chat-Daten zu trainieren. Legen Sie --update
fest, falls Sie mit dem Training eines bereits vorhandenen Modells fortfahren möchten.
python run.py train --update
So initialisieren Sie einen Chat mit dem trainierten Modell:
python run.py chat