Spaces:
Build error
Build error
Download app.py from aryan79/Robust_Text_Summarizer: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/spaces/aryan79/Robust_Text_Summarizer/resolve/main/app.py
- Command line
-
hf download hf://spaces/aryan79/Robust_Text_Summarizer/app.py
-
curl -L -o app.py https://huggingface.co/spaces/aryan79/Robust_Text_Summarizer/resolve/main/app.py
1.62 kB
| import gradio as gr | |
| from transformers import pipeline | |
| import concurrent.futures | |
| # Load the summarization model pipeline | |
| summarizer = pipeline("summarization", model="Falconsai/text_summarization") | |
| # Function to handle dynamic chunking of text and summarization in parallel | |
| def summarize_text(text): | |
| max_chunk_size = 1024 # Can be adjusted based on model's token limit (often 1024-2048 tokens) | |
| # Split the text into chunks if it's longer than the max chunk size | |
| text_chunks = [] | |
| if len(text) > max_chunk_size: | |
| # Calculate chunk size dynamically based on input length | |
| chunk_size = max_chunk_size if len(text) > max_chunk_size else len(text) | |
| text_chunks = [text[i:i+chunk_size] for i in range(0, len(text), chunk_size)] | |
| else: | |
| # If the text is small enough, use it as one chunk | |
| text_chunks = [text] | |
| # Use ThreadPoolExecutor to summarize each chunk in parallel | |
| with concurrent.futures.ThreadPoolExecutor() as executor: | |
| # Map summarizer function to each chunk in parallel | |
| summaries = list(executor.map(lambda chunk: summarizer(chunk)[0]['summary_text'], text_chunks)) | |
| # Combine all summaries into one | |
| full_summary = " ".join(summaries) | |
| return full_summary | |
| # Set up the Gradio interface | |
| interface = gr.Interface(fn=summarize_text, | |
| inputs="text", | |
| outputs="text", | |
| title="Text Summarizer", | |
| description="Enter long text to get a detailed summarized version.") | |
| # Launch the Gradio interface | |
| interface.launch(share=True) |