JishnuSetia's picture
Update app.py
36959e1 verified
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 Student Recommendation letter writer. your job is to write top notch reco letters for students so that they can apply to college. You are provided with the student's brag sheet and student name. It must be grammatically correct. this will be put into a pdf doc and sent to colleges. start with 'to whom it may concern'
my name is: {myname}
my designation is: {designation}
my relationship with the student is: {relationship}
Student's Aspiration: {aspirations}
school name: {school}
student name: {name}
student brag sheet:{sbs}
Write a recommendation letter.
""}}
"""
## streamlit app
st.title("AI Recommendation Writer")
st.text("Write Reco Letters for students quickly!")
myname = st.text_input("Enter Your Name:")
designation = st.text_input("Enter Your Designation:")
relation = st.text_input("Enter Your Relation with Student:")
school = st.text_input("Enter School Name:")
text = st.text_input("Enter Student Name:")
aspirations = st.text_input("Enter Student's Aspiration:")
uploaded_file=st.file_uploader("Upload Student Questionaire",type="pdf",help="Please upload the pdf")
submit = st.button("Submit")
if submit:
if uploaded_file is not None:
uploaded=input_pdf_text(uploaded_file)
response=get_gemini_response(input_prompt.format(name = text, sbs = uploaded, myname = myname, designation = designation, relationship=relation, aspirations=aspirations, school = school ))
st.subheader(response)