mehakkhan commited on
Commit
5cb9d7e
Β·
verified Β·
1 Parent(s): a656ae6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -14
app.py CHANGED
@@ -8,10 +8,10 @@ from langchain.text_splitter import RecursiveCharacterTextSplitter
8
  from langchain.chains import RetrievalQA
9
  from tempfile import NamedTemporaryFile
10
 
11
- # Load Groq API Key securely (for Hugging Face secrets)
12
  os.environ["GROQ_API_KEY"] = os.getenv("GROQ_API_KEY")
13
 
14
- # Helper to process uploaded PDFs and build vectorstore
15
  def process_pdfs(files):
16
  all_docs = []
17
  for file in files:
@@ -31,32 +31,34 @@ def process_pdfs(files):
31
  qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=retriever)
32
  return qa_chain
33
 
34
- # Global chain (reset with new uploads)
35
  qa_chain = None
36
 
37
- # Upload + Process PDFs
38
  def upload_pdfs(files):
39
  global qa_chain
40
  qa_chain = process_pdfs(files)
41
  return "βœ… PDFs uploaded and processed. Now ask your questions."
42
 
43
- # Ask a question
44
  def ask_question(query):
45
  if qa_chain is None:
46
  return "❌ Please upload Kaggle notebooks/competition PDFs first."
47
- result = qa_chain.run(query)
48
- return result
49
-
50
- # Gradio UI
51
- upload = gr.File(file_types=[".pdf"], file_count="multiple", label="Upload Kaggle PDFs")
52
- btn_upload = gr.Button("Process PDFs")
53
- question = gr.Textbox(label="Ask a question about uploaded notebooks")
54
- answer = gr.Textbox(label="Assistant Answer")
55
 
 
56
  with gr.Blocks() as app:
57
  gr.Markdown("## πŸ€– Kaggle Study Assistant\nUpload PDFs from Kaggle and ask intelligent questions.")
58
- upload_output = gr.Textbox(visible=True)
 
 
 
 
 
59
  btn_upload.click(fn=upload_pdfs, inputs=upload, outputs=upload_output)
 
 
 
60
  question.submit(fn=ask_question, inputs=question, outputs=answer)
61
 
62
  app.launch()
 
8
  from langchain.chains import RetrievalQA
9
  from tempfile import NamedTemporaryFile
10
 
11
+ # Load Groq API Key securely
12
  os.environ["GROQ_API_KEY"] = os.getenv("GROQ_API_KEY")
13
 
14
+ # Function to process PDFs
15
  def process_pdfs(files):
16
  all_docs = []
17
  for file in files:
 
31
  qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=retriever)
32
  return qa_chain
33
 
34
+ # Global variable
35
  qa_chain = None
36
 
37
+ # Upload handler
38
  def upload_pdfs(files):
39
  global qa_chain
40
  qa_chain = process_pdfs(files)
41
  return "βœ… PDFs uploaded and processed. Now ask your questions."
42
 
43
+ # Question handler
44
  def ask_question(query):
45
  if qa_chain is None:
46
  return "❌ Please upload Kaggle notebooks/competition PDFs first."
47
+ return qa_chain.run(query)
 
 
 
 
 
 
 
48
 
49
+ # βœ… Gradio UI (fixed)
50
  with gr.Blocks() as app:
51
  gr.Markdown("## πŸ€– Kaggle Study Assistant\nUpload PDFs from Kaggle and ask intelligent questions.")
52
+
53
+ with gr.Row():
54
+ upload = gr.File(file_types=[".pdf"], file_count="multiple", label="Upload Kaggle PDFs")
55
+ btn_upload = gr.Button("πŸ“₯ Process PDFs")
56
+
57
+ upload_output = gr.Textbox(label="Upload Status")
58
  btn_upload.click(fn=upload_pdfs, inputs=upload, outputs=upload_output)
59
+
60
+ question = gr.Textbox(label="Ask a question about uploaded notebooks")
61
+ answer = gr.Textbox(label="Assistant Answer", interactive=False)
62
  question.submit(fn=ask_question, inputs=question, outputs=answer)
63
 
64
  app.launch()