Nous disposons désormais d'une interface de test, qui peut être utilisée en recherchant le compte public WeChat OpenDialog
OpenDialog est construit sur des transformateurs basés sur PyTorch. Fournit une série de modèles de dialogue de domaine ouvert chinois basés sur des transformateurs (conversations de chat), collecte les ressources de données existantes et complète en permanence les ensembles de données du système de conversation chinois correspondant, dans le but de créer une plate-forme de dialogue de chat chinois open source.
Derniers développements :
2020.8.20, terminé l'interface du modèle de pré-formation génératif Open-Domain LCCC-GPT-Large et exécutez le code suivant pour démarrer le service correspondant
./run_flask lccc < gpu_id >
2020.10.26, finalisation d'un lot de modèles de dialogue de récupération de bi-encodeur (bert-bi-encoder, polyencoder, etc.)
...
Fichiers et répertoires principaux d'OpenDialog :
data
: ensemble de données, fichier de configuration, liste de mots, vecteur de mots, script de traitement de l'ensemble de donnéesmodels
: modèles de dialoguemetrics
: indicateurs d'évaluationmultiview
: modèle de reclassement multi-angle, reclassement pour obtenir les réponses des candidats au dialogueckpt
: stocke le modèle d'entraînementrest
: stocke les journaux Tensorboard et les fichiers de résultats générés pendant la phase de testutils
: stocke les fonctions de l'outildataloader.py
: script de chargement de l'ensemble de donnéesmain.py
: fichier principal en cours d'exécutionheader.py
: le package à importereval.py
: Appeler le script d'évaluation des indicateurs d'évaluation dans metrics
pour tester les résultats du fichier généré au rest
run.sh
: exécuter un script batchrun_flask.sh
: Appelez le modèle et démarrez le service Environnement système de base : Linux/Ubuntu-16.04+
, Python 3.6+
, GPU (default 1080 Ti)
Installer les bibliothèques dépendantes de Python
pip install -r requirements.txt
Installer ElasticSearch
Le système de dialogue basé sur la récupération doit d'abord utiliser elasticsearch
pour un filtrage approximatif. Dans le même temps, afin de réaliser la segmentation des mots chinois lors de l'étape de récupération de filtrage grossier, un segmenteur de mots chinois doit être téléchargé et installé.
Installer mongodb
Après le démarrage du service, mongodb
sera utilisé pour stocker l'historique des sessions et les données nécessaires.
data
et stockez les fichiers vectoriels de mots chinese_w2v.txt
et english_w2v.bin
sous data
.data/README.md
pour les détails des données et les données prétraitées.<gpu_ids>
, tels que 0,1,2,3
dataset
est cohérent avec le nom dans le répertoire data
.Modèle | CMD | Taper | Détails | Référer | Modèle de pré-entraînement |
---|---|---|---|---|---|
bertrécupération | ./run.sh train <dataset> bertretrieval <gpu_ids> | récupération | Modèle de réglage fin basé sur Bert (réglage fin) | Papier | |
gpt2 | ./run.sh train <dataset> gpt2 <gpu_ids> | génératif | Modèle de dialogue génératif GPT2 | Code | |
gpt2gan | ./run.sh train <dataset> gpt2gan <gpu_ids> | génératif | Modèle de dialogue basé sur GAN, le modèle génératif est GPT2 et le modèle discriminant est le modèle à deux classifications BERT. | Papier |
Démarrer le service de flacon
./run_flask.sh <model_name> <gpu_id>
Interface d'appel