Wir haben jetzt eine Testschnittstelle, die durch Durchsuchen des öffentlichen WeChat-Kontos OpenDialog
verwendet werden kann
OpenDialog basiert auf PyTorch-basierten Transformatoren. Bietet eine Reihe transformatorbasierter chinesischer Open-Domain-Dialogmodelle (Chat-Konversationen), sammelt vorhandene Datenressourcen und ergänzt kontinuierlich die entsprechenden Datensätze des chinesischen Konversationssystems mit der Absicht, eine Open-Source-Plattform für chinesische Chat-Dialoge aufzubauen.
Neueste Entwicklungen:
2020.8.20, vervollständigte die Schnittstelle des generativen Open-Domain-Pre-Training-Modells LCCC-GPT-Large und führte den folgenden Code aus, um den entsprechenden Dienst zu starten
./run_flask lccc < gpu_id >
26.10.2020, eine Reihe von Bi-Encoder-Abrufdialogmodellen fertiggestellt (Bert-Bi-Encoder, Polyencoder usw.)
...
OpenDialog-Kerndateien und -Verzeichnisse:
data
: Datensatz, Konfigurationsdatei, Wortliste, Wortvektor, Datensatzverarbeitungsskriptmodels
: Dialogmodellemetrics
: Bewertungsindikatorenmultiview
: Multi-Angle-Reranking-Modell, Re-Ranking, um Dialogkandidatenantworten zu erhaltenckpt
: speichert das Trainingsmodellrest
: speichert Tensorboard-Protokolle und Ergebnisdateien, die während der Testphase generiert wurdenutils
: speichert Werkzeugfunktionendataloader.py
: Skript zum Laden von Datensätzenmain.py
: Hauptlaufdateiheader.py
: das Paket, das importiert werden musseval.py
: Rufen Sie das Bewertungsskript der Bewertungsindikatoren in metrics
auf, um die Ergebnisse der im rest
generierten Datei zu testenrun.sh
: Batch-Skript ausführenrun_flask.sh
: Rufen Sie das Modell auf und starten Sie den Dienst Grundlegende Systemumgebung: Linux/Ubuntu-16.04+
, Python 3.6+
, GPU (default 1080 Ti)
Installieren Sie Python-abhängige Bibliotheken
pip install -r requirements.txt
Installieren Sie ElasticSearch
Das abrufbasierte Dialogsystem muss zunächst elasticsearch
für eine grobe Überprüfung verwenden. Gleichzeitig muss ein chinesischer Wortsegmentierer heruntergeladen und installiert werden, um eine chinesische Wortsegmentierung in der Grobscreening-Abrufphase zu erreichen.
mongodb
installieren
Nach dem Start des Dienstes wird mongodb
zum Speichern des Sitzungsverlaufs und der erforderlichen Daten verwendet
data
und die Wortvektordateien chinese_w2v.txt
und english_w2v.bin
unter data
.data/README.md
.<gpu_ids>
angeben, z. B. 0,1,2,3
dataset
stimmt mit dem Namen im data
überein.Modell | CMD | Typ | Einzelheiten | Verweisen | Modell vor dem Zug |
---|---|---|---|---|---|
Bertretrieval | ./run.sh train <dataset> bertretrieval <gpu_ids> | Abruf | Bert-basiertes Feinabstimmungsmodell (Feinabstimmung) | Papier | |
gpt2 | ./run.sh train <dataset> gpt2 <gpu_ids> | generativ | Generatives GPT2-Dialogmodell | Code | |
gpt2gan | ./run.sh train <dataset> gpt2gan <gpu_ids> | generativ | GAN-basiertes Dialogmodell, das generative Modell ist GPT2 und das Diskriminanzmodell ist das BERT-Zweiklassifizierungsmodell. | Papier |
Flaschenservice starten
./run_flask.sh <model_name> <gpu_id>
Anrufschnittstelle