import os import gradio as gr import openai # Retrieve the API key from the environment variable api_key = os.getenv('OPENAI_API_KEY') if api_key is None: raise Exception("Missing API key for OpenAI") openai.api_key = api_key def generate_description(title, location, desired_experience, preferred_experience, about_the_team): company_name = "Imaginary Inc." # Placeholder company name company_description = "Imaginary Inc. is a forward-thinking company that values innovation, creativity, and diversity. We believe in fostering a positive work environment where every employee can thrive." # Company branding message messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": f"Company: {company_name}"}, {"role": "user", "content": f"About the Company: {company_description}"}, {"role": "user", "content": f"Job Title: {title}"}, {"role": "user", "content": f"Job Location: {location}"}, {"role": "user", "content": f"Desired Candidate Experience: {desired_experience}"}, {"role": "user", "content": f"Preferred Candidate Experience: {preferred_experience}"}, {"role": "user", "content": f"About the Team: {about_the_team}"}, {"role": "user", "content": f"Generate a job description for the position {title} at {company_name}. The job is located in {location}. The desired experience for this role is {desired_experience} and the preferred experience is {preferred_experience}. The role is part of the following team: {about_the_team}. The description should align with the company's branding message: {company_description}"} ] response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=messages, temperature=0.5, max_tokens=500 ) return response['choices'][0]['message']['content'] iface = gr.Interface( fn=generate_description, inputs=["text", "text", "text", "text", "text"], outputs="text" ) iface.launch()