ViT5BaseNode / app.py
VietCat's picture
init project
20688a8
raw
history blame
1.03 kB
from flask import Flask, request, jsonify
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
app = Flask(__name__)
# Load model
model_name = "VietAI/vit5-base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
@app.route("/summarize", methods=["POST"])
def summarize():
data = request.json
text = data.get("text", "")
if not text.strip():
return jsonify({"error": "Missing text"}), 400
inputs = tokenizer.encode(text, return_tensors="pt", max_length=512, truncation=True)
summary_ids = model.generate(
inputs,
max_length=100,
min_length=30,
num_beams=4,
length_penalty=2.0,
early_stopping=True
)
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
return jsonify({"summary": summary})
@app.route("/", methods=["GET"])
def root():
return "ViT5 summarization API is running."
if __name__ == "__main__":
app.run(host="0.0.0.0", port=7860)