Book-Analyzer / app.py
mkoot007's picture
Update app.py
0c49761
import fitz
from transformers import GPT2Tokenizer, GPT2Model
import gradio as gr
def extract_text_from_pdf(pdf_path):
doc = fitz.open(pdf_path)
text = ""
for page_num in range(doc.page_count):
page = doc[page_num]
text += page.get_text()
return text
def generate_review(summary):
# Your custom logic to generate a review
review = "The book conveys a powerful message about..."
return review
def generate_summary(pdf_path):
# Load pre-trained GPT-2 model and tokenizer
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2Model.from_pretrained('gpt2')
# Extract text from the PDF
input_text = extract_text_from_pdf(pdf_path)
# Tokenize and generate summary
input_tokens = tokenizer.encode(input_text, return_tensors="pt")
summary = model.generate(input_tokens)
# Return results
return {
"Extracted Information": input_text,
"Book Summary": tokenizer.decode(summary[0], skip_special_tokens=True),
"Review": generate_review(summary)
}
iface = gr.Interface(
fn=generate_summary,
inputs=gr.File(),
outputs=[
gr.Textbox(),
gr.Textbox(),
gr.Textbox(),
],
live=True
)
iface.launch()