Spaces:
Sleeping
Sleeping
fix broken encoding text issue
Browse files
app.py
CHANGED
@@ -2,13 +2,12 @@ import os
|
|
2 |
from flask import Flask, request, jsonify
|
3 |
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
|
4 |
|
5 |
-
#
|
6 |
os.environ["HF_HOME"] = "/app/cache"
|
7 |
os.environ["TRANSFORMERS_CACHE"] = "/app/cache/transformers"
|
8 |
|
9 |
app = Flask(__name__)
|
10 |
|
11 |
-
# Load mô hình và tokenizer
|
12 |
model_name = "VietAI/vit5-base"
|
13 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
14 |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
@@ -21,11 +20,10 @@ def summarize():
|
|
21 |
if not text:
|
22 |
return jsonify({"error": "Missing 'text' field"}), 400
|
23 |
|
24 |
-
# ✅ Thêm tiền tố
|
25 |
prompt = f"summarize: {text}"
|
26 |
inputs = tokenizer.encode(prompt, return_tensors="pt", max_length=512, truncation=True)
|
27 |
|
28 |
-
# Generate với các tham số tối ưu
|
29 |
summary_ids = model.generate(
|
30 |
inputs,
|
31 |
max_length=100,
|
@@ -36,6 +34,7 @@ def summarize():
|
|
36 |
length_penalty=1.0,
|
37 |
early_stopping=True
|
38 |
)
|
|
|
39 |
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
|
40 |
return jsonify({"summary": summary})
|
41 |
|
|
|
2 |
from flask import Flask, request, jsonify
|
3 |
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
|
4 |
|
5 |
+
# Khai báo thư mục cache an toàn cho Hugging Face
|
6 |
os.environ["HF_HOME"] = "/app/cache"
|
7 |
os.environ["TRANSFORMERS_CACHE"] = "/app/cache/transformers"
|
8 |
|
9 |
app = Flask(__name__)
|
10 |
|
|
|
11 |
model_name = "VietAI/vit5-base"
|
12 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
13 |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
|
|
20 |
if not text:
|
21 |
return jsonify({"error": "Missing 'text' field"}), 400
|
22 |
|
23 |
+
# ✅ Rất quan trọng: Thêm tiền tố 'summarize:'
|
24 |
prompt = f"summarize: {text}"
|
25 |
inputs = tokenizer.encode(prompt, return_tensors="pt", max_length=512, truncation=True)
|
26 |
|
|
|
27 |
summary_ids = model.generate(
|
28 |
inputs,
|
29 |
max_length=100,
|
|
|
34 |
length_penalty=1.0,
|
35 |
early_stopping=True
|
36 |
)
|
37 |
+
|
38 |
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
|
39 |
return jsonify({"summary": summary})
|
40 |
|