Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| import os | |
| import pandas as pd | |
| # Load the text summarization pipeline | |
| summarizer = pipeline("summarization", model="astro21/bart-cls_n") | |
| chunk_counter = 0 | |
| def summarize_text(input_text): | |
| global chunk_counter | |
| chunk_counter = 0 | |
| max_chunk_size = 1024 | |
| chunks = [input_text[i:i + max_chunk_size] for i in range(0, len(input_text), max_chunk_size)] | |
| summarized_chunks = [] | |
| chunk_lengths = [] | |
| summarized_chunks_only = [] | |
| for chunk in chunks: | |
| chunk_counter += 1 | |
| summarized_chunk = summarizer(chunk, max_length=128, min_length=64, do_sample=False)[0]['summary_text'] | |
| summarized_chunks.append(f"Chunk {chunk_counter}:\n{summarized_chunk}") | |
| summarized_chunks_only.append(summarized_chunk) | |
| chunk_lengths.append(len(chunk)) | |
| summarized_text = "\n".join(summarized_chunks) | |
| summarized_text_only = "\n".join(summarized_chunks_only) | |
| # Save the merged summary to a file | |
| with open("summarized.txt", "w") as output_file: | |
| output_file.write(summarized_text_only) | |
| chunk_df = pd.DataFrame({'Chunk Number': range(1, chunk_counter + 1), 'Chunk Length': chunk_lengths}) | |
| return summarized_text | |
| # def read_file(file): | |
| # print(file[0].name) | |
| # with open(file[0].name, 'r') as file_: | |
| # content = file_.read() | |
| # return content | |
| # def summarize_text_file(file): | |
| # if file is not None: | |
| # content = read_file(file) | |
| # return summarize_text(content) | |
| # input_type = gr.inputs.Textbox(label = "textbox" ) | |
| # Name the outputs using the label parameter and provide a download option | |
| demo = gr.Interface(fn=summarize_text, inputs=[gr.Textbox(label="Enter Text",placeholder="Ask me anything.",lines=3)], | |
| outputs=[gr.Textbox(label="Summarized Text")], | |
| title = "Text Summarization", | |
| description = "Summarize text using BART", | |
| theme = "huggingface", | |
| allow_flagging="never", | |
| live=True) | |
| demo.launch(share=True,debug=True) | |