Spaces:
Running
Running
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() | |