File size: 3,917 Bytes
a859006
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9a98ba6
25c000b
 
9a98ba6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import streamlit as st
from transformers import AutoTokenizer, pipeline
from peft import PeftModel, PeftConfig
from transformers import AutoModelForSeq2SeqLM
from datasets import load_dataset
import torch

st.write("Initializing...")  # Debugging message

# Load the LoRA configuration and model
config = PeftConfig.from_pretrained("lorahub/flan_t5_large-web_questions_potential_correct_answer")
base_model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-t5-large")
model = PeftModel.from_pretrained(base_model, "lorahub/flan_t5_large-web_questions_potential_correct_answer")
tokenizer = AutoTokenizer.from_pretrained("google/flan-t5-large")

st.write("Model Loaded Successfully!")  # Debugging message

qa_pipeline = pipeline("text2text-generation", model=model, tokenizer=tokenizer)

# Load relevant datasets
hotpotqa_dataset = load_dataset("bdsaglam/hotpotqa-distractor")
squad_v2_dataset = load_dataset("tom-010/squad_v2_with_answerable")
bias_professions_dataset = load_dataset("society-ethics/stable-bias-professions")
classifier_dataset = load_dataset("habanoz/classifier_1300_610_url_p")

st.write("Datasets Loaded Successfully!")  # Debugging message

# Streamlit App Structure
def main():
    st.title("AI-Powered Career Counseling App with Advanced Q&A")
    st.sidebar.title("Navigation")
    option = st.sidebar.selectbox("Choose an Option", ["Profile Setup", "Career Q&A", "Career Recommendations", "Resource Library"])

    if option == "Profile Setup":
        profile_setup()
    elif option == "Career Q&A":
        career_qa()
    elif option == "Career Recommendations":
        career_recommendations()
    elif option == "Resource Library":
        resource_library()

# Profile Setup Section
def profile_setup():
    st.header("Profile Setup")
    st.write("Fill out your details to personalize your experience.")
    age = st.number_input("Age", min_value=10, max_value=100)
    education = st.selectbox("Education Level", ["High School", "Undergraduate", "Graduate", "Other"])
    interests = st.text_area("Career Interests", "e.g., Data Science, Graphic Design")
    skills = st.text_area("Skills (comma-separated)", "e.g., Python, communication, empathy")
    
    if st.button("Save Profile"):
        st.session_state["profile"] = {
            "age": age,
            "education": education,
            "interests": interests.split(", "),
            "skills": skills.split(", ")
        }
        st.success("Profile saved successfully!")

# Q&A Section for Career-related questions
def career_qa():
    st.header("Career Q&A")
    question = st.text_input("Ask a career-related question")
    
    if st.button("Get Answer"):
        if question:
            # Prepare question for the model
            response = qa_pipeline(question)
            st.write("Answer:", response[0]['generated_text'])
        else:
            st.warning("Please enter a question.")

# Career Recommendations Section (Mockup, Extend as needed)
def career_recommendations():
    st.header("Career Recommendations")
    
    # Mock recommendation - In a real application, this should be based on a recommendation model
    st.write("Based on your interests and skills, we recommend:")
    st.write("1. Data Scientist")
    st.write("2. Software Engineer")
    st.write("3. Product Manager")

# Resource Library Section
def resource_library():
    st.header("Resource Library")
    st.write("Browse resources related to different careers.")
    career_choice = st.selectbox("Choose a career", ["Data Scientist", "Graphic Designer", "Software Engineer", "Nurse"])
    
    # Display resources for the chosen career
    st.write(f"### Resources for {career_choice}")
    st.write("1. Article: How to become a successful " + career_choice)
    st.write("2. Video: Day in the life of a " + career_choice)
    st.write("3. Guide: Top skills for " + career_choice)

if __name__ == "__main__":
    main()