Leaf-Question-Generation 项目使用教程
1. 项目的目录结构及介绍
Leaf-Question-Generation/
├── app/
│ ├── ml_models/
│ │ ├── distractor_generation/
│ │ ├── question_generation/
│ │ └── sense2vec_distractor_generation/
│ └── api_gateway.py
├── training/
│ ├── distractor_generation.ipynb
│ └── question_generation.ipynb
├── .gitignore
├── LICENSE
├── README.md
├── api_gateway.py
├── main.py
└── requirements.txt
目录结构介绍
-
app/: 包含项目的主要应用代码,特别是机器学习模型的相关代码。
- ml_models/: 包含用于生成问题和干扰项的机器学习模型。
- distractor_generation/: 用于生成干扰项的模型。
- question_generation/: 用于生成问题和答案的模型。
- sense2vec_distractor_generation/: 用于生成干扰项的sense2vec模型。
- api_gateway.py: 提供REST API的入口文件。
- ml_models/: 包含用于生成问题和干扰项的机器学习模型。
-
training/: 包含用于训练模型的Jupyter Notebook文件。
- distractor_generation.ipynb: 用于训练生成干扰项的模型。
- question_generation.ipynb: 用于训练生成问题和答案的模型。
-
.gitignore: Git忽略文件,指定哪些文件或目录不需要被Git管理。
-
LICENSE: 项目的开源许可证文件。
-
README.md: 项目的介绍和使用说明。
-
api_gateway.py: 提供REST API的入口文件。
-
main.py: 项目的启动文件。
-
requirements.txt: 项目依赖的Python包列表。
2. 项目的启动文件介绍
main.py
main.py
是项目的启动文件。它包含了项目的核心逻辑,负责初始化并启动整个应用程序。通过运行这个文件,可以启动项目的REST API服务,从而提供生成多选题的功能。
# main.py
from flask import Flask
from app.api_gateway import api_gateway
app = Flask(__name__)
app.register_blueprint(api_gateway)
if __name__ == "__main__":
app.run(debug=True)
启动步骤
- 确保已经安装了所有依赖包,可以通过运行
pip install -r requirements.txt
来安装。 - 运行
python main.py
启动项目。
3. 项目的配置文件介绍
requirements.txt
requirements.txt
文件列出了项目运行所需的所有Python包及其版本。通过运行 pip install -r requirements.txt
,可以一次性安装所有依赖包。
# requirements.txt
flask==2.0.1
transformers==4.11.3
torch==1.9.0
sense2vec==2.0.0
配置文件说明
- flask: 用于构建REST API的Web框架。
- transformers: 用于加载和使用预训练的T5 Transformer模型。
- torch: PyTorch深度学习框架,用于模型的训练和推理。
- sense2vec: 用于生成干扰项的词嵌入模型。
通过这些配置文件和启动文件,可以轻松地启动和配置Leaf-Question-Generation项目,生成多选题并提供REST API服务。