career_advisor / app1.py
willn9's picture
Create app1.py
9870b10 verified
raw
history blame
2.58 kB
import os
import openai
import gradio as gr
# Set OpenAI API key from environment variable
openai.api_key = os.environ.get("OPENAI_API_KEY")
# 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 = openai.ChatCompletion.create(
model="gpt-4", # 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 or type 'not sure'."),
gr.Textbox(label="Your Dream Job", placeholder="Enter your dream job or type 'not sure'."),
gr.Textbox(label="Current Qualifications and Certifications", placeholder="Enter your qualifications..."),
gr.Textbox(label="Likes", placeholder="Enter things you like (e.g., helping others, working with hands)...", lines=10),
gr.Textbox(label="Skills", placeholder="Enter your skills (e.g., math, science, languages)...", lines=10),
],
outputs=gr.Textbox(label="Customized Career Advice"),
title="Customized AI-Powered Career Advice",
description="This app provides AI-powered customized career advice based on your input. Note: even AI can make mistakes!",
)
# Launch the application
career_advice_app.launch(server_name="0.0.0.0", debug=True, server_port=7860, share=True)