Ce référentiel facilite la formation d'un modèle de langage au niveau des caractères ou des mots uniquement basé sur les messages de discussion WhatsApp. Après la formation du modèle, on peut lancer une conversation synthétique avec le groupe de discussion WhatsApp formé.
assets/input/chat.txt
n'est qu'un espace réservé, à remplacer par le corpus réel des messages de discussion. |-- 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:
le fichier d'entrée doit être un chat WhatsApp exporté (sans média).assets/output/:
les données de formation/validation codées et le modèle formé seront écrits dans cette localisation.assets/models/model.pt:
objet modèle pytorch entraîné.src/preprocess.py:
convertit les messages de discussion en tenseurs PyTorch codés. Les données sont divisées en ensembles de formation et de validation.src/model.py:
définit la classe de modèle de langage.src/train.py:
contient le code pour entraîner le modèle de langage.src/chat.py:
contient la fonction d'interaction conversationnelle avec le modèle.src/utils.py:
Autres fonctions utilitaires utiles.run.py:
le script principal avec un analyseur d'arguments pour appeler l'une des trois actions ("prétraitement", "train", "chat").config.py:
les paramètres de prétraitement et de formation du modèle sont enregistrés. git clone https://github.com/bernhard-pfann/lad-gpt.git
cd lad-gpt
pip install -r requirements.txt
Pour utiliser pleinement ce projet, vous aurez besoin d'un fichier .txt contenant les messages d'un chat WhatsApp. Voici les étapes pour exporter votre discussion de groupe WhatsApp dans un fichier .txt :
Une fois que vous avez le fichier .txt, placez-le dans le répertoire assets/input
, appelé chat.txt
. Alors vous êtes prêt à partir !
Une fois les données d'entrée en place, les discussions doivent être codées en tenseurs numériques. Les données codées sont également divisées en ensembles de formation et de validation :
python run.py preprocess
Pour former un modèle de langage à partir de zéro et uniquement sur la base des données de discussion encodées. Définissez --update
au cas où vous souhaiteriez continuer à entraîner un modèle déjà existant.
python run.py train --update
Pour parapher une conversation avec le modèle formé :
python run.py chat