Table des matières
DialoGPT
Large-scale pretraining for dialogue
Encore un truc Microsoft qui ne passe pas un test de Turing en 3 questions.
Seul point positif, il n'est pas raciste !
Une carte graphique n'est pas nécessaire.
Ressources
- DialoGPT A State-of-the-Art Large-scale Pretrained Response Generation Model
The model is trained on 147M multi-turn dialogue from Reddit discussion thread.
Installation
Préalable
Il faut installer CUDA si l'argument –gpu=1 est utilisé avec interact.py ou main.py de l'irc:
Par contre PyTorch Pretrained BERT est nécessaire: Google's pre-trained models The Big & Extending Repository of pretrained Transformers: PyTorch version of Google AI's BERT model with script to load Google's pre-trained models.
sudo pip3 install pytorch_pretrained_bert irc
Ubuntu 20.04
~ 900Mo
python3 -m pip install pytorch_pretrained_bert irc --user
Bien sûr, installer ces packages dans un venv est une bien meilleure solution.
DialoGPT2-Interact
git clone https://github.com/microsoft/DialoGPT.git
Script python supplémentaire récupéré à github.com/andreamad8 interact.py à coller dans les sources de DialoGPT
La première execution de cette commande télécharge les fichiers nécessaires (2 Go) du modèle medium
python3 interact.py --model_name_or_path ./models/medium --load_checkpoint ./models/medium/medium_ft.pkl --top_k 0
Ensuite, les relances suivantes ouvrent des prompts qui permettent de dialoguer avec l'IA.
Chat Bot sur IRC
Sur la tour avec la carte graphique
- Les sources des fichiers à ajouter (uniquement les *.py) dans le dossier DialoGPT: dialogpt-irc sur github.com/sergeLabo
Options possibles: (voir la fonction run_model())
- –top_k 0 (–top_k 1 ne va pas du tout)
- –max_history 5 # par défaut 2
- –gpu 1 # par défaut 0
- –max_seq_length 256 # par défaut 128
Test avec:
python3 main.py --model_name_or_path ./models/medium --load_checkpoint ./models/medium/medium_ft.pkl --top_k 0 --max_history 5 --gpu 1 --max_seq_length 128
Pour les clients
- Pour vous connecter à l'IRC, allez à https://kiwiirc.com/nextclient/
server = "irc.libera.chat" port = 6667 channel = "#lalabomedia" nickname = "TheGeneral" realname = "IA Computer at The Prisoner"
Comment envoyer un message au robot ?
Le message doit avoir cette structure:
TheGeneral: puis votre message en anglais !