import os, json from openai import AzureOpenAI from dotenv import load_dotenv load_dotenv() client = AzureOpenAI( api_key=os.getenv("AZURE_OPENAI_KEY").strip(), azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT").strip(), api_version=os.getenv("AZURE_OPENAI_VERSION").strip() ) DEPLOY = os.getenv("AZURE_OPENAI_DEPLOYMENT").strip() def score(resume, jd): r = client.chat.completions.create( model=DEPLOY, max_completion_tokens=800, temperature=0.8, messages=[ {"role":"system","content":"Act as an ATS. Compare résumé with JD. Return JSON: overall_score(0-100) and category_scores{skills,experience,education}, plus top_skill_gaps list."}, {"role":"user","content":f"JOB_DESCRIPTION:\n{jd}\n\nRESUME:\n{resume}"} ] ) return json.loads(r.choices[0].message.content.strip()) def improve(resume, jd=None): p = ("Provide bullet suggestions to raise the score. " + ("Tailor to this JD:\n"+jd+"\n" if jd else "") + "Here is the résumé:\n"+resume) r = client.chat.completions.create( model=DEPLOY, max_completion_tokens=800, temperature=0.7, messages=[ {"role":"system","content":"You are a résumé coach."}, {"role":"user","content":p} ] ) return r.choices[0].message.content.strip()