Prompt Generator API 使用教程
1. 项目的目录结构及介绍
prompt-generator-api/
├── .gitignore
├── LICENSE
├── README.md
├── blacklist.txt
├── main.py
└── requirements.txt
- .gitignore: 指定Git版本控制系统忽略的文件和目录。
- LICENSE: 项目的许可证文件,采用GPL-3.0许可证。
- README.md: 项目说明文档,包含项目的基本信息和使用方法。
- blacklist.txt: 包含需要从返回的提示中替换的术语列表,每行一个术语。
- main.py: 项目的启动文件,包含API的主要逻辑。
- requirements.txt: 项目依赖的Python包列表。
2. 项目的启动文件介绍
main.py 是项目的启动文件,负责启动API服务。以下是主要代码结构:
from flask import Flask, request, jsonify
from flask_restful import Api
from flask_limiter import Limiter
from transformers import pipeline
app = Flask(__name__)
api = Api(app)
limiter = Limiter(app)
# 加载模型
generator = pipeline('text-generation', model='FredZhang7/distilgpt2-stable-diffusion-v2')
# 生成提示的API端点
@app.route('/generate', methods=['POST'])
@limiter.limit("10/minute")
def generate_prompt():
data = request.get_json()
prompt = data['prompt']
# 生成提示
result = generator(prompt, max_length=80, num_return_sequences=5)
return jsonify(result)
if __name__ == '__main__':
app.run(debug=True)
- Flask: 用于创建Web应用的框架。
- Flask-RESTful: 用于创建RESTful API。
- Flask-Limiter: 用于限制API请求频率。
- transformers: 用于加载和使用预训练的语言模型。
3. 项目的配置文件介绍
项目没有显式的配置文件,但可以通过以下方式进行配置:
- blacklist.txt: 包含需要从返回的提示中替换的术语列表,每行一个术语。
- main.py: 可以通过修改代码中的参数进行配置,例如:
max_length
: 生成的提示的最大长度。num_return_sequences
: 生成的结果数量。limiter.limit("10/minute")
: 限制每分钟请求次数。
通过以上介绍,您可以更好地理解和使用 Prompt Generator API 项目。