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