Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -182,11 +182,56 @@ def reset_state(name, domain, company, level):
|
|
| 182 |
}
|
| 183 |
|
| 184 |
def start_interview(name, domain, company, level):
|
| 185 |
-
|
| 186 |
-
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
|
| 191 |
def submit_response(response, state):
|
| 192 |
if not state["interview_active"]:
|
|
|
|
| 182 |
}
|
| 183 |
|
| 184 |
def start_interview(name, domain, company, level):
|
| 185 |
+
try:
|
| 186 |
+
# Print all input parameters
|
| 187 |
+
print(f"Start Interview Called:")
|
| 188 |
+
print(f"Name: {name}")
|
| 189 |
+
print(f"Domain: {domain}")
|
| 190 |
+
print(f"Company: {company}")
|
| 191 |
+
print(f"Level: {level}")
|
| 192 |
+
|
| 193 |
+
# Validate inputs
|
| 194 |
+
if not name or not domain:
|
| 195 |
+
return [{"role": "System", "content": "Please provide a name and domain"}], None
|
| 196 |
+
|
| 197 |
+
# Create initial state
|
| 198 |
+
state = reset_state(name, domain, company, level)
|
| 199 |
+
print("State reset successfully")
|
| 200 |
+
|
| 201 |
+
# Prepare prompt for question generation
|
| 202 |
+
prompt = f"Domain: {domain}. Candidate experience level: {level}. Generate the first question:"
|
| 203 |
+
print(f"Prompt for question generation: {prompt}")
|
| 204 |
+
|
| 205 |
+
# Verify model is ready
|
| 206 |
+
print("Model device:", model.device)
|
| 207 |
+
print("Model ready:", model is not None)
|
| 208 |
+
|
| 209 |
+
# Generate first question
|
| 210 |
+
try:
|
| 211 |
+
question = generate_question(prompt, domain, state)
|
| 212 |
+
print(f"Generated Question: {question}")
|
| 213 |
+
except Exception as q_error:
|
| 214 |
+
print(f"Question Generation Error: {q_error}")
|
| 215 |
+
question = f"Error generating question: {q_error}"
|
| 216 |
+
|
| 217 |
+
# Append question to conversation
|
| 218 |
+
state["conversation"].append({"role": "Interviewer", "content": question})
|
| 219 |
+
|
| 220 |
+
return state["conversation"], state
|
| 221 |
+
|
| 222 |
+
except Exception as e:
|
| 223 |
+
print(f"CRITICAL ERROR in start_interview: {e}")
|
| 224 |
+
import traceback
|
| 225 |
+
traceback.print_exc()
|
| 226 |
+
return [{"role": "System", "content": f"Critical error: {e}"}], None
|
| 227 |
+
|
| 228 |
+
# Modify Gradio launch to print any errors
|
| 229 |
+
try:
|
| 230 |
+
demo.launch(debug=True)
|
| 231 |
+
except Exception as e:
|
| 232 |
+
print(f"Gradio Launch Error: {e}")
|
| 233 |
+
import traceback
|
| 234 |
+
traceback.print_exc()
|
| 235 |
|
| 236 |
def submit_response(response, state):
|
| 237 |
if not state["interview_active"]:
|