career_advisor / app.py
willn9's picture
Upgrade to Gradio 5.12.0
cd20648 verified
import os
from openai import OpenAI
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
import gradio as gr
# Set OpenAI API key from environment variable
# Function to generate customized career advice
def generate_career_advice(field, position_name, current_qualifications, likes, skills):
# Craft the prompt for the OpenAI model
prompt = f"""You are a career advisor AI. Provide customized career advice using the following details:
- Desired Career Field: {field}
- Dream Job: {position_name}
- Current Qualifications: {current_qualifications}
- Likes: {likes}
- Skills: {skills}
Include:
- Suitable career paths that are a good fit and in demand.
- Additional qualifications, courses, training, or certifications to pursue.
- Tips on networking and gaining experience.
Be concise and limit your response to 512 tokens or less."""
# Call the OpenAI API
try:
response = client.chat.completions.create(model="gpt-4o-mini", # Use "gpt-3.5-turbo" if desired
messages=[
{"role": "system", "content": "You are a helpful and knowledgeable career advisor."},
{"role": "user", "content": prompt},
],
max_tokens=512,
temperature=0.7)
# Extract the response text
career_advice = response.choices[0].message.content.strip()
except Exception as e:
career_advice = f"An error occurred: {str(e)}"
return career_advice
# Create Gradio interface for the career advice application
career_advice_app = gr.Interface(
fn=generate_career_advice,
allow_flagging="never",
inputs=[
gr.Textbox(label="Desired Career Field", placeholder="Enter the field you're interested in (e.g., healthcare, trades, IT, ...) or type 'not sure'."),
gr.Textbox(label="Your Dream Job", placeholder="Enter your dream job (e.g., software developer, plumber, digital marketing specialist, ...) or type 'not sure'."),
gr.Textbox(label="Current Qualifications and Certifications", placeholder="Enter your qualifications (e.g., studying at high school, college business diploma, ...)"),
gr.Textbox(label="Likes", placeholder="Enter things you like (e.g., helping people, working with my hands, solving puzzels, caring for animals, building things, etc.)", lines=2),
gr.Textbox(label="Skills", placeholder="Enter your skills (e.g., math, science, languages, working with tools, ...)", lines=2),
],
outputs=gr.Textbox(label="Customized Career Advice", lines=25),
title="Customized AI-Powered Career Advice",
description="This app provides AI-powered customized career advice based on your input. Powered by OpenAI GPT 4. Developed by wn. Disclaimer: AI can make mistakes. Use with caution at your own risk!",
)
# Launch the application
career_advice_app.launch(server_name="0.0.0.0", debug=True, share=True)