Spaces:
Sleeping
Sleeping
| 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() | |