Spaces:
Sleeping
Sleeping
File size: 3,248 Bytes
dea5528 2571ef1 dea5528 2571ef1 dea5528 2571ef1 dea5528 2571ef1 dea5528 81d21ee dea5528 2571ef1 dea5528 |
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 |
import os
import google.generativeai as genai
import gradio as gr
# Set up Google API key from environment variable
API_KEY = os.getenv("GOOGLE_API_KEY")
if not API_KEY:
raise ValueError("GOOGLE_API_KEY not set. Add it in Hugging Face Space Secrets.")
# Configure the Google Generative AI client
genai.configure(api_key=API_KEY)
def generate_career_plan(education, skills, internships, interests):
"""Generate a dynamic career plan using Google Gemini API without career goals."""
# Construct the prompt without career goals
prompt = (
f"You are a highly knowledgeable career advisor. Create a detailed, actionable career plan "
f"tailored to the following user inputs:\n"
f"- Engineering Education: {education}\n"
f"- Skills: {skills}\n"
f"- Internships/Experience: {internships}\n"
f"- Interests: {interests}\n\n"
f"Structure the plan as follows:\n"
f"1. Short-term steps : Break this section down into:\n"
f" a. Immediate actions (0β3 months): Quick wins or high-impact tasks based on their current skills.\n"
f" b. Mid-term steps (5β8 months): Actions to deepen expertise, expand network, or build relevant experience.\n"
f" c. Longer short-term (1β2 years): Projects, certifications, or job transitions to solidify the foundation.\n"
f"2. Long-term steps (3β5 years): Steps to advance their career based on interests and background.\n"
f"3. Job roles to target: Relevant positions based on their profile.\n"
f"4. Skills to learn: New skills to acquire for success.\n"
f"5. Resources: Recommended courses, books, or tools (be specific).\n"
f"Ensure the plan is concise, practical, and directly reflects the user's inputs."
)
try:
# Initialize the Gemini model
model = genai.GenerativeModel("gemini-1.5-flash") # Adjust model name if needed
response = model.generate_content(prompt)
# Check if response is valid
if not response.text:
return "Error: No response generated. Check API key or model availability."
return response.text
except Exception as e:
return f"Error: {str(e)}. Check your API key or network connection."
# Gradio interface without Career Goals
with gr.Blocks(title="Career Guidance Chatbot") as demo:
gr.Markdown("# Career Guidance Chatbot")
gr.Markdown("Enter your details to get a personalized career plan powered by Google Gemini. Response :Wait For 10 Secs..")
with gr.Row():
with gr.Column():
education = gr.Textbox(label="Engineering Education (e.g., Computer Science, Mechanical)")
skills = gr.Textbox(label="Skills (e.g., Python, CAD, project management)")
internships = gr.Textbox(label="Internships/Experience (e.g., 3 months at XYZ Corp)")
interests = gr.Textbox(label="Interests (e.g., AI, robotics, sustainable energy)")
submit_btn = gr.Button("Generate Career Plan")
with gr.Column():
output = gr.Markdown(label="Your Career Plan")
submit_btn.click(
fn=generate_career_plan,
inputs=[education, skills, internships, interests],
outputs=output
)
# Launch the app
demo.launch() |