Spaces:
Sleeping
Sleeping
# -*- coding: utf-8 -*- | |
""" | |
Created on Mon May 8 00:32:30 2023 | |
@author: ahmet | |
""" | |
import pdfplumber | |
import gradio as gr | |
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM | |
def respond(pdf_file): | |
pdf_file_name = pdf_file.name | |
all_text = '' | |
with pdfplumber.open(pdf_file_name) as pdf: | |
total_pages = len(pdf.pages) | |
for idx, pdf_page in enumerate(pdf.pages): | |
single_page_text = pdf_page.extract_text() | |
all_text = all_text + '\n' + single_page_text | |
print(idx/total_pages) | |
if idx/total_pages >0.2: | |
break | |
tokenizer=AutoTokenizer.from_pretrained('Einmalumdiewelt/T5-Base_GNAD') | |
model=AutoModelForSeq2SeqLM.from_pretrained('Einmalumdiewelt/T5-Base_GNAD', return_dict=True) | |
inputs=tokenizer.encode("sumarize: " +all_text, return_tensors='pt', max_length=512, truncation=True) | |
output = model.generate(inputs, min_length=70, max_length=80) | |
summary=tokenizer.decode(output[0]) | |
return summary | |
with gr.Blocks() as demo: | |
title = """<p><h1 align="center" style="font-size: 36px;">Talk with your document</h1></p>""" | |
gr.HTML(title) | |
with gr.Row(): | |
with gr.Column(): | |
file_input = gr.File(label="PDF File", type="file") | |
summarize = gr.Button("Summarize") | |
text_output = gr.Textbox(label="Summarized text") | |
summarize.click(fn=respond, inputs=file_input, outputs=text_output) | |
demo.launch(debug=True) |