jarif's picture
Upload 3 files
a0fd701 verified
import os
import streamlit as st
import google.generativeai as genai
from dotenv import load_dotenv
# Load environment variables
load_dotenv()
api_key = os.getenv("GEMINI_API_KEY")
# Check if API key is set
if not api_key:
st.error("API key not found. Please set GEMINI_API_KEY in your .env file.")
st.stop()
# Configure the generative AI model
genai.configure(api_key=api_key)
generation_config = {
"temperature": 1,
"top_p": 0.95,
"top_k": 64,
"max_output_tokens": 8192,
"response_mime_type": "text/plain",
}
try:
model = genai.GenerativeModel(
model_name="gemini-1.5-flash",
generation_config=generation_config
)
except Exception as e:
st.error(f"Failed to load model: {str(e)}")
st.stop()
# Main function for Streamlit app
def main():
st.title("Career Path Recommendation System")
# List of questions for the user
questions = [
"Tell me about yourself. (Your characteristics, your preferred working environment, your likings, your dislikings, your team work nature, your dedication level etc.)",
"Tell me something about your career interests.",
"What types of work satisfy you most?",
"How many specific skills do you have and what are those?",
"Elaborate the best professional skill you have.",
"Elaborate the lowest professional skill you have.",
"What are your long-term goals?"
]
# Collect user responses
responses = {q: st.text_area(q, "") for q in questions}
# Button to get recommendations
if st.button("Get Career Path Recommendation"):
if all(responses.values()):
with st.spinner("Generating recommendations..."):
try:
# Start chat session and send the message
chat_session = model.start_chat(
history=[{"role": "user", "parts": [{"text": f"{q}: {a}"} for q, a in responses.items()]}]
)
response = chat_session.send_message("Based on the answers provided, what career path should the user choose?")
recommendation = response.text.strip()
# Display the recommendation
st.subheader("Career Path Recommendation:")
st.write(recommendation)
except Exception as e:
st.error(f"An error occurred while generating recommendations: {str(e)}")
else:
st.error("Please answer all the questions to get a recommendation.")
# Run the app
if __name__ == "__main__":
main()