Spaces:
Runtime error
Runtime error
| from state import CoachState | |
| QUESTION_HINTS = ("?", "tell me", "how would", "can you", "describe", "design") | |
| async def transcript_node(state: CoachState) -> CoachState: | |
| raw_text = state.get("raw_text", "").strip() | |
| if state.get("question"): | |
| speaker = "interviewer" | |
| elif state.get("answer"): | |
| speaker = "candidate" | |
| else: | |
| speaker = infer_speaker(raw_text) | |
| labelled = { | |
| "speaker": speaker, | |
| "text": raw_text, | |
| "confidence": 0.65 if raw_text else 0.0, | |
| } | |
| state["speaker"] = speaker | |
| state["labelled_json"] = labelled | |
| if speaker == "interviewer" and not state.get("question"): | |
| state["question"] = raw_text | |
| elif speaker == "candidate" and not state.get("answer"): | |
| state["answer"] = raw_text | |
| state["needs_review"] = labelled["confidence"] < 0.6 | |
| return state | |
| def infer_speaker(text: str) -> str: | |
| lowered = text.lower() | |
| if text.endswith("?") or any(hint in lowered for hint in QUESTION_HINTS): | |
| return "interviewer" | |
| return "candidate" | |