GenAIPractice1 / app.py
ZeeAI1's picture
Update app.py
bfb56e4 verified
import streamlit as st
from datasets import load_dataset
from transformers import pipeline
import requests
# Load necessary datasets from Hugging Face
ds_natural_questions = load_dataset("google-research-datasets/natural_questions", "default")
ds_open_questions = load_dataset("launch/open_question_type")
ds_question_generator = load_dataset("iarfmoose/question_generator")
ds_jobs = load_dataset("lukebarousse/data_jobs")
ds_courses = load_dataset("azrai99/coursera-course-dataset")
universities_url = "https://www.4icu.org/top-universities-world/"
# Initialize the LLaMA model pipeline for text-to-text generation
qa_pipeline = pipeline("text2text-generation", model="llama-3.1-70b-versatile", tokenizer="llama-3.1-70b-versatile")
# Streamlit App Interface
st.title("Career Counseling Application")
st.subheader("Build Your Profile and Discover Tailored Career Recommendations")
# Sidebar for Profile Setup
st.sidebar.header("Profile Setup")
educational_background = st.sidebar.text_input("Educational Background (e.g., Degree, Major)")
interests = st.sidebar.text_input("Interests (e.g., AI, Data Science, Engineering)")
tech_skills = st.sidebar.text_area("Technical Skills (e.g., Python, SQL, Machine Learning)")
soft_skills = st.sidebar.text_area("Soft Skills (e.g., Communication, Teamwork)")
# Save profile data for session-based recommendations
profile_data = {
"educational_background": educational_background,
"interests": interests,
"tech_skills": tech_skills,
"soft_skills": soft_skills
}
if st.sidebar.button("Save Profile"):
st.session_state.profile_data = profile_data
st.sidebar.success("Profile saved successfully!")
# Intelligent Q&A Section
st.header("Intelligent Q&A")
question = st.text_input("Ask a career-related question:")
if question:
answer = qa_pipeline(question)[0]["generated_text"]
st.write("Answer:", answer)
# Career and Job Recommendations Section
st.header("Career and Job Recommendations")
if profile_data:
job_recommendations = []
for job in ds_jobs["train"]:
if any(skill.lower() in job["description"].lower() for skill in tech_skills.split(',')):
job_recommendations.append(job["title"])
if job_recommendations:
st.subheader("Job Recommendations")
st.write("Based on your profile, here are some potential job roles:")
for job in job_recommendations[:5]: # Limit to top 5 job recommendations
st.write("- ", job)
else:
st.write("No specific job recommendations found matching your profile.")
# Course Suggestions Section
st.header("Course Suggestions")
if profile_data:
course_recommendations = []
for course in ds_courses["train"]:
if any(interest.lower() in course["title"].lower() for interest in interests.split(',')):
course_recommendations.append(course["title"])
if course_recommendations:
st.subheader("Recommended Courses")
st.write("Here are some courses related to your interests:")
for course in course_recommendations[:5]: # Limit to top 5 course recommendations
st.write("- ", course)
else:
st.write("No specific courses found matching your interests.")
# University Recommendations Section
st.header("Top Universities")
st.write("For further education, you can explore the top universities worldwide:")
st.write(f"[View Top Universities Rankings]({universities_url})")
# Conclusion
st.write("Thank you for using the Career Counseling Application!")