Spaces:
Sleeping
Sleeping
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
import streamlit as st | |
import torch | |
def load_model(cp_path): | |
model = AutoModelForSeq2SeqLM.from_pretrained(cp_path) | |
return model | |
def load_tokenizer(path): | |
tokenizer = AutoTokenizer.from_pretrained(path) | |
return tokenizer | |
cp_aug = 'minnehwg/finetune-newwiki-summarization-ver-augmented2' | |
cp_org = 'minnehwg/finetune-newwiki-summarization-ver1' | |
model_org = load_model(cp_org) | |
model_aug = load_model(cp_aug) | |
tokenizer = load_tokenizer("VietAI/vit5-base") | |
def processed(text): | |
processed_text = text.replace('\n', ' ') | |
processed_text = processed_text.lower() | |
return processed_text | |
def summarize(text, model, tokenizer, num_beams=4, device='cpu'): | |
model.to(device) | |
inputs = tokenizer.encode(text, return_tensors="pt", max_length=1024, truncation=True, padding = True).to(device) | |
with torch.no_grad(): | |
summary_ids = model.generate(inputs, max_length=256, num_beams=num_beams) | |
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True) | |
return summary | |
text = st.text_area('Nhập đoạn văn bản', height = 300) | |
if text: | |
processed_text = processed(text) | |
re1 = summarize(processed_text, model_org, tokenizer) | |
re2 = summarize(processed_text, model_aug, tokenizer) | |
out = { | |
'Result from model with original data': re1, | |
'Result from model with augmented data': re2 | |
} | |
st.json(out) | |