deltarunemen commited on
Commit
4ac7937
·
verified ·
1 Parent(s): e70c72e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -6
app.py CHANGED
@@ -2,11 +2,10 @@ from flask import Flask, request, jsonify
2
  from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
3
  import os
4
 
5
- # --- Khởi tạo Flask ---
6
  app = Flask(__name__)
7
 
8
- # --- Load mô hình tóm tắt tiếng Việt ---
9
- model_name = "VietAI/vit5-large-vietnews-summarization" # dùng dấu '-' chuẩn
10
  tokenizer = AutoTokenizer.from_pretrained(model_name)
11
  model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
12
 
@@ -16,7 +15,6 @@ summarizer = pipeline(
16
  tokenizer=tokenizer
17
  )
18
 
19
- # --- Route home ---
20
  @app.route("/")
21
  def home():
22
  return jsonify({
@@ -24,7 +22,6 @@ def home():
24
  "usage": "POST /summarize với JSON: { 'text': '...', 'topic': '...' }"
25
  })
26
 
27
- # --- Route tóm tắt ---
28
  @app.route("/summarize", methods=["POST"])
29
  def summarize():
30
  data = request.get_json(force=True)
@@ -33,6 +30,11 @@ def summarize():
33
  return jsonify({"error": "Thiếu trường 'text'"}), 400
34
 
35
  text = data["text"]
 
 
 
 
 
36
 
37
  # Giới hạn số từ để tránh lỗi bộ nhớ
38
  max_words = 1000
@@ -49,7 +51,6 @@ def summarize():
49
  except Exception as e:
50
  return jsonify({"error": str(e)}), 500
51
 
52
- # --- Chạy app ---
53
  if __name__ == "__main__":
54
  port = int(os.environ.get("PORT", 7860))
55
  app.run(host="0.0.0.0", port=port)
 
2
  from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
3
  import os
4
 
 
5
  app = Flask(__name__)
6
 
7
+ # Dùng mô hình nhỏ hơn để tiết kiệm bộ nhớ
8
+ model_name = "VietAI/vit5-base-vietnews-summarization"
9
  tokenizer = AutoTokenizer.from_pretrained(model_name)
10
  model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
11
 
 
15
  tokenizer=tokenizer
16
  )
17
 
 
18
  @app.route("/")
19
  def home():
20
  return jsonify({
 
22
  "usage": "POST /summarize với JSON: { 'text': '...', 'topic': '...' }"
23
  })
24
 
 
25
  @app.route("/summarize", methods=["POST"])
26
  def summarize():
27
  data = request.get_json(force=True)
 
30
  return jsonify({"error": "Thiếu trường 'text'"}), 400
31
 
32
  text = data["text"]
33
+ topic = data.get("topic", "").strip() # Nếu không có topic, mặc định trống
34
+
35
+ # Nếu có topic, ghép vào đầu văn bản để mô hình hiểu hướng tóm tắt
36
+ if topic:
37
+ text = f"Chủ đề: {topic}. Nội dung: {text}"
38
 
39
  # Giới hạn số từ để tránh lỗi bộ nhớ
40
  max_words = 1000
 
51
  except Exception as e:
52
  return jsonify({"error": str(e)}), 500
53
 
 
54
  if __name__ == "__main__":
55
  port = int(os.environ.get("PORT", 7860))
56
  app.run(host="0.0.0.0", port=port)