pratikshahp commited on
Commit
1799f74
·
verified ·
1 Parent(s): 10a3cdc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -17
app.py CHANGED
@@ -1,10 +1,10 @@
1
  import streamlit as st
2
  import fitz # PyMuPDF
3
- # Load model directly
4
- from transformers import AutoTokenizer, AutoModelForCausalLM
5
 
6
- tokenizer = AutoTokenizer.from_pretrained("google/bert_uncased_L-12_H-768_A-12")
7
- model = AutoModelForCausalLM.from_pretrained("google/bert_uncased_L-12_H-768_A-12")
 
8
 
9
  # Function to extract text from PDF
10
  def extract_text_from_pdf(pdf_file):
@@ -16,7 +16,7 @@ def extract_text_from_pdf(pdf_file):
16
  return text
17
 
18
  # Function to generate MCQs using Hugging Face model
19
- def generate_mcqs(text, num_questions):
20
  if not text.strip():
21
  return ["No text extracted from the PDF. Unable to generate MCQs."]
22
 
@@ -24,18 +24,10 @@ def generate_mcqs(text, num_questions):
24
  inputs = tokenizer(text, return_tensors="pt", max_length=512, truncation=True)
25
 
26
  mcqs = []
 
27
  for _ in range(num_questions):
28
  # Generate a single MCQ at a time
29
- output = model.generate(
30
- **inputs,
31
- max_length=512, # Adjusted to match the tokenized input length
32
- max_new_tokens=100, # Limit the number of new tokens added during generation
33
- temperature=0.7,
34
- num_return_sequences=1
35
- )
36
-
37
- # Decode the generated sequence
38
- mcq = tokenizer.decode(output[0], skip_special_tokens=True)
39
  mcqs.append(mcq)
40
 
41
  return mcqs
@@ -52,8 +44,7 @@ if uploaded_file is not None:
52
  st.write("Extracted Text:", text)
53
 
54
  st.write("Generating MCQs...")
55
- # num_questions = st.number_input("Number of MCQs to generate")
56
- num_questions = 6
57
  mcqs = generate_mcqs(text, num_questions)
58
 
59
  st.write("Generated MCQs:")
 
1
  import streamlit as st
2
  import fitz # PyMuPDF
3
+ from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
 
4
 
5
+ # Load the model and tokenizer
6
+ tokenizer = AutoTokenizer.from_pretrained("openai-gpt")
7
+ model = AutoModelForCausalLM.from_pretrained("openai-gpt")
8
 
9
  # Function to extract text from PDF
10
  def extract_text_from_pdf(pdf_file):
 
16
  return text
17
 
18
  # Function to generate MCQs using Hugging Face model
19
+ def generate_mcqs(text, num_questions=5):
20
  if not text.strip():
21
  return ["No text extracted from the PDF. Unable to generate MCQs."]
22
 
 
24
  inputs = tokenizer(text, return_tensors="pt", max_length=512, truncation=True)
25
 
26
  mcqs = []
27
+ generator = pipeline("text-generation", model=model, tokenizer=tokenizer)
28
  for _ in range(num_questions):
29
  # Generate a single MCQ at a time
30
+ mcq = generator(text, max_length=100)[0]["generated_text"]
 
 
 
 
 
 
 
 
 
31
  mcqs.append(mcq)
32
 
33
  return mcqs
 
44
  st.write("Extracted Text:", text)
45
 
46
  st.write("Generating MCQs...")
47
+ num_questions = st.number_input("Number of MCQs to generate", min_value=1, max_value=20, value=5, step=1, format="%d")
 
48
  mcqs = generate_mcqs(text, num_questions)
49
 
50
  st.write("Generated MCQs:")