import gradio as gr from transformers import pipeline from fastapi import FastAPI # Initialize the summarization pipeline summarizer = pipeline("summarization", model="facebook/bart-large-cnn") # Define the summarization function def summarize_text(input_text): summary = summarizer(input_text, max_length=130, min_length=30, do_sample=False) return summary[0]['summary_text'] # Create the Gradio app app = gr.Interface( fn=summarize_text, inputs=gr.Textbox(lines=10, label="Input Text"), outputs=gr.Textbox(label="Summarized Text"), title="Text Summarization", description="Enter a block of text to summarize it using the BART model fine-tuned on CNN/Daily Mail." ) # Mount the Gradio app on FastAPI fastapi_app = FastAPI() fastapi_app.mount("/", app) if __name__ == "__main__": app.launch()