Mohinikathro commited on
Commit
8605607
·
verified ·
1 Parent(s): aacbe29

changes made to app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -7
app.py CHANGED
@@ -141,7 +141,7 @@ def start_interview(name, domain, company, level):
141
  state = reset_state(name, domain, company, level)
142
  prompt = f"Domain: {domain}. Candidate experience level: {level}. Generate the first question:"
143
  question = generate_question(prompt, domain, state)
144
- state["conversation"].append(("Interviewer", question))
145
  return state["conversation"], state
146
 
147
  def submit_response(response, state):
@@ -149,14 +149,14 @@ def submit_response(response, state):
149
  return state["conversation"], state
150
 
151
  if not response.strip():
152
- state["conversation"].append(("System", "⚠️ Please answer the question before proceeding."))
153
  return state["conversation"], state
154
 
155
  if response.strip().lower() == "exit":
156
  return end_interview(state)
157
 
158
- state["conversation"].append(("Candidate", response))
159
- last_q = [msg for role, msg in reversed(state["conversation"]) if role == "Interviewer"][0]
160
  rating, suggestion = evaluate_response(response, last_q)
161
 
162
  state["evaluations"].append({
@@ -166,10 +166,10 @@ def submit_response(response, state):
166
  "suggestion": suggestion
167
  })
168
 
169
- state["conversation"].append(("Evaluator", f"Rating: {rating}\nSuggestion: {suggestion}"))
170
  prompt = f"Domain: {state['domain']}. Candidate's last response: {response}. Generate a follow-up question:"
171
  follow_up = generate_question(prompt, state["domain"], state)
172
- state["conversation"].append(("Interviewer", follow_up))
173
  return state["conversation"], state
174
 
175
  def end_interview(state):
@@ -195,7 +195,7 @@ def end_interview(state):
195
  with open(filename, "w") as f:
196
  json.dump(summary, f, indent=4)
197
 
198
- state["conversation"].append(("System", f"✅ Interview ended.\nFinal Score: {summary['score']} ({summary['category']})"))
199
  return state["conversation"], state
200
 
201
  def clear_state():
 
141
  state = reset_state(name, domain, company, level)
142
  prompt = f"Domain: {domain}. Candidate experience level: {level}. Generate the first question:"
143
  question = generate_question(prompt, domain, state)
144
+ state["conversation"].append({"role": "Interviewer", "content": question})
145
  return state["conversation"], state
146
 
147
  def submit_response(response, state):
 
149
  return state["conversation"], state
150
 
151
  if not response.strip():
152
+ state["conversation"].append({"role": "System", "content": "⚠️ Please answer the question before proceeding."})
153
  return state["conversation"], state
154
 
155
  if response.strip().lower() == "exit":
156
  return end_interview(state)
157
 
158
+ state["conversation"].append({"role": "Candidate", "content": response})
159
+ last_q = next(msg["content"] for msg in reversed(state["conversation"]) if msg["role"] == "Interviewer")
160
  rating, suggestion = evaluate_response(response, last_q)
161
 
162
  state["evaluations"].append({
 
166
  "suggestion": suggestion
167
  })
168
 
169
+ state["conversation"].append({"role": "Evaluator", "content": f"Rating: {rating}\nSuggestion: {suggestion}"})
170
  prompt = f"Domain: {state['domain']}. Candidate's last response: {response}. Generate a follow-up question:"
171
  follow_up = generate_question(prompt, state["domain"], state)
172
+ state["conversation"].append({"role": "Interviewer", "content": follow_up})
173
  return state["conversation"], state
174
 
175
  def end_interview(state):
 
195
  with open(filename, "w") as f:
196
  json.dump(summary, f, indent=4)
197
 
198
+ state["conversation"].append({"role": "System", "content": f"✅ Interview ended. \nFinal Score: {summary['score']} ({summary['category']})"})
199
  return state["conversation"], state
200
 
201
  def clear_state():