import streamlit as st import google.generativeai as genai import os import PyPDF2 as pdf from dotenv import load_dotenv import json load_dotenv() ## load all our environment variables os.getenv("GOOGLE_API_KEY") genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) def get_gemini_response(input): model=genai.GenerativeModel('gemini-pro') response=model.generate_content(input) return response.text def input_pdf_text(uploaded_file): reader=pdf.PdfReader(uploaded_file) text="" for page in range(len(reader.pages)): page=reader.pages[page] text+=str(page.extract_text()) return text #Prompt Template input_prompt=""" Act Like a skilled or very experience Teacher. Your task is to evaluate the answers in the test. You are a very very strict teacher. Here are the details:- Questions:{qs} Answers:{text} Rubric: {ٍrubric} Give your response in 4 seperate parts having the structure Marks:"%" Give a small message saying 'Good Job' or something based on percentage MissingKeywords:[] Tips to Improve the Student Marks:""}} """ ## streamlit app st.title("AI AutoGrader") qs=st.text_area("Enter Test Questions") rubric=st.text_area("Enter Test Rubric") uploaded_file=st.file_uploader("Upload Answer Sheet",type="pdf",help="Please uplaod the pdf") submit = st.button("Submit") if submit: if uploaded_file is not None: text=input_pdf_text(uploaded_file) response=get_gemini_response(input_prompt.format(text=text, qs=qs, rubric=rubric)) st.subheader(response)