import gradio as gr from transformers import pipeline from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware # Initialize the model summarizer = pipeline("summarization", model="facebook/bart-large-cnn") # Define the summarization function def summarize_text(text, max_length=100, min_length=30): try: summary = summarizer( text, max_length=max_length, min_length=min_length, do_sample=False ) return summary[0]["summary_text"] except Exception as e: return f"Error: {str(e)}" # Create Gradio interface demo = gr.Interface( fn=summarize_text, inputs=[ gr.Textbox(label="Input Text", lines=10), gr.Slider(minimum=50, maximum=500, value=100, label="Max Length"), gr.Slider(minimum=10, maximum=200, value=30, label="Min Length") ], outputs=gr.Textbox(label="Summary"), title="Text Summarization", description="Enter your text to get a summary using BART model" ) if __name__ == "__main__": demo.launch(server_name="0.0.0.0", server_port=7860, share=True)