Book-Analyzer / app.py
mkoot007's picture
Update app.py
1b331e3
import fitz
from transformers import pipeline
import gradio as gr
def extract_text_from_pdf(pdf_content):
with fitz.open("temp.pdf", pdf_content) as doc:
text = ""
for page_num in range(doc.page_count):
page = doc[page_num]
text += page.get_text()
return text
def generate_summary(file_content, user_input_text):
if file_content:
if isinstance(file_content, bytes):
input_text = extract_text_from_pdf(file_content)
else:
input_text = file_content.read().decode("utf-8")
else:
input_text = user_input_text
text_generator = pipeline("text2text-generation", model="google/flan-t5-base")
summary = text_generator(input_text, max_length=1024, num_beams=4)
return {
"Extracted Information": input_text,
"Book Summary": summary[0]["generated_text"],
"Review": "The book conveys a powerful message about...",
}
iface = gr.Interface(
fn=generate_summary,
inputs=[gr.File(label="Upload File"), gr.Textbox(label="Enter Text")],
outputs=[
gr.Textbox(label="Extracted Information"),
gr.Textbox(label="Book Summary"),
gr.Textbox(label="Rewiew"),
],
live=True,
)
iface.launch()