Spaces:
Sleeping
Sleeping
File size: 1,674 Bytes
735a1bb b9bfbd5 795f70c 7c5ef2e b9bfbd5 6d7bc3e b9bfbd5 7c5ef2e b9bfbd5 6d7bc3e 7c5ef2e 6d7bc3e b9bfbd5 7c5ef2e b9bfbd5 7c5ef2e 6d7bc3e b9bfbd5 6d7bc3e b9bfbd5 6d7bc3e b9bfbd5 6d7bc3e b9bfbd5 6d7bc3e b9bfbd5 6d7bc3e b9bfbd5 6d7bc3e 7c5ef2e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import os
import gradio as gr
from transformers import BartTokenizer, BartForConditionalGeneration
hf_token = os.getenv("HF_TOKEN") # optional unless model is private/gated
# Load model and tokenizer from Hugging Face hub using the provided model name
model_name = "iimran/SAM-TheSummariserV2"
# FIX: use `token=` instead of `use_auth_token=`
tokenizer = BartTokenizer.from_pretrained(model_name, token=hf_token)
model = BartForConditionalGeneration.from_pretrained(model_name, token=hf_token)
def summarize(input_text):
# Tokenize the input text with truncation
inputs = tokenizer(input_text, max_length=1024, truncation=True, return_tensors="pt")
# Generate the summary using beam search
summary_ids = model.generate(
inputs["input_ids"],
num_beams=4, # Use beam search with 4 beams for quality summaries
max_length=128, # Set maximum length for the generated summary
early_stopping=True # Enable early stopping if all beams finish
)
# Decode the generated summary tokens to a string
summary = tokenizer.decode(summary_ids[0], skip_special_tokens=True)
return summary
# Create a Gradio interface
iface = gr.Interface(
fn=summarize,
inputs=gr.Textbox(
label="Enter Text to Summarize",
lines=10,
placeholder="Paste or type the text you want to summarize here..."
),
outputs=gr.Textbox(
label="Summary",
lines=5,
placeholder="Summary will appear here..."
),
title="SAM - The Summariser",
description="SAM is a model that summarizes large texts into concise summaries."
)
# Launch the Gradio interface
iface.launch() |