File size: 1,249 Bytes
9d694c5 dc67e4f |
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 |
import gradio as gr
import logging
import sys
from transformers import pipeline
# Configure logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
# Load the model
logger.info("Loading bart-large-cnn model...")
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")
logger.info("Model loaded successfully!")
def summarize_text(text, max_length=150, min_length=30):
if not text or len(text.strip()) < 50:
return text
logger.info(f"Summarizing text of length {len(text)}")
result = summarizer(
text,
max_length=max_length,
min_length=min_length,
truncation=True
)
summary = result[0]["summary_text"]
return summary
# Create Gradio interface
demo = gr.Interface(
fn=summarize_text,
inputs=[
gr.Textbox(lines=10, label="Text to Summarize"),
gr.Slider(50, 500, value=150, label="Max Length"),
gr.Slider(10, 200, value=30, label="Min Length")
],
outputs=gr.Textbox(label="Summary"),
title="StudAI ",
description="Powered by facebook/bart-large-cnn model"
)
demo.launch(share=True, server_name="Leo", server_port=8000) |