saritha's picture
Update app.py
9751da0 verified
raw
history blame
1.41 kB
import os
from langchain_core.prompts import PromptTemplate
from langchain.chains.question_answering import load_qa_chain
from langchain_community.document_loaders import PyPDFLoader
import google.generativeai as genai
import gradio as gr
# Function for initialization
def initialize(pdf_file, question):
try:
# Access the uploaded file information from Gradio
file_info = pdf_file
# Check if a file was uploaded
if file_info is not None:
# Construct potential file path based on temporary directory and filename
file_path = os.path.join("/tmp", file_info.name) # Adjust temporary directory if needed
if os.path.exists(file_path):
# ... rest of your code for processing the PDF using the file path
else:
return "Error: The uploaded file could not be found."
else:
return "Error: No PDF file was uploaded."
except Exception as e:
return f"An error occurred: {e}" # Generic error handling
# Create a Gradio interface
interface = gr.Interface(
fn=initialize,
inputs=[
gr.File(label="Upload PDF"), # No need for 'type' argument
gr.Textbox(label="Question")
],
outputs="text",
title="GeminiPro Q&A Bot",
description="Ask questions about the uploaded PDF document.",
)
# Launch the interface
interface.launch()