OpenDialog
1.0.0
이제 WeChat 공개 계정 OpenDialog
검색하여 사용할 수 있는 테스트 인터페이스가 있습니다.
OpenDialog는 PyTorch 기반 변환기를 기반으로 구축되었습니다. 일련의 변환기 기반 중국어 개방형 도메인 대화 모델(채팅 대화)을 제공하고 기존 데이터 리소스를 수집하며 해당 중국어 대화 시스템 데이터 세트를 지속적으로 보완하여 오픈 소스 중국어 채팅 대화 플랫폼을 구축합니다.
최신 개발:
2020.8.20, LCCC-GPT-Large 생성 오픈 도메인 사전 학습 모델의 인터페이스를 완료하고 다음 코드를 실행하여 해당 서비스를 시작합니다.
./run_flask lccc < gpu_id >
2020.10.26, 바이인코더 검색 대화 모델 일괄 완료(bert-bi-encoder, polyencoder 등)
...
OpenDialog 핵심 파일 및 디렉터리:
data
: 데이터 세트, 구성 파일, 단어 목록, 단어 벡터, 데이터 세트 처리 스크립트models
: 대화 모델metrics
: 평가 지표multiview
: 다각도 재순위 모델, 대화 후보 응답을 얻기 위한 재순위 모델ckpt
: 훈련 모델을 저장합니다.rest
: 테스트 단계에서 생성된 텐서보드 로그 및 결과 파일을 저장합니다.utils
: 도구 기능을 저장합니다.dataloader.py
: 데이터세트 로딩 스크립트main.py
: 메인 실행 파일header.py
: 임포트해야 하는 패키지eval.py
: metrics
에서 평가 지표의 평가 스크립트를 호출하여 rest
에서 생성된 파일의 결과를 테스트합니다.run.sh
: 배치 스크립트 실행run_flask.sh
: 모델 호출 및 서비스 시작 기본 시스템 환경: Linux/Ubuntu-16.04+
, Python 3.6+
, GPU (default 1080 Ti)
Python 종속 라이브러리 설치
pip install -r requirements.txt
ElasticSearch
설치
검색 기반 대화 시스템에서는 대략적인 선별을 위해 먼저 elasticsearch
사용해야 합니다. 동시에, 거친 선별 검색 단계에서 중국어 단어 분할을 달성하려면 중국어 단어 분할기를 다운로드하여 설치해야 합니다.
mongodb
설치
서비스 시작 후 mongodb
세션 기록 및 필요한 데이터를 저장하는 데 사용됩니다.
data
디렉토리 아래의 해당 하위 디렉토리에 저장하고, 단어 벡터 파일인 chinese_w2v.txt
및 english_w2v.bin
data
아래에 저장합니다.data/README.md
참조하세요.<gpu_ids>
0,1,2,3
dataset
이름은 data
디렉터리의 이름과 일치합니다.모델 | 명령 | 유형 | 세부 | 나타내다 | 사전 학습 모델 |
---|---|---|---|---|---|
베르트 검색 | ./run.sh 기차 <데이터 세트> bertretrieval <gpu_ids> | 검색 | Bert 기반 미세 조정 모델(fine-tuning) | 종이 | |
gpt2 | ./run.sh 기차 <데이터 세트> gpt2 <gpu_ids> | 생성적인 | GPT2 생성 대화 모델 | 암호 | |
gpt2gan | ./run.sh 기차 <데이터 세트> gpt2gan <gpu_ids> | 생성적인 | GAN 기반 대화 모델, 생성 모델은 GPT2, 판별 모델은 BERT 2분류 모델입니다. | 종이 |
플라스크 서비스 시작
./run_flask.sh <model_name> <gpu_id>
통화 인터페이스