rohitg00--ai-engineering-from-scratch
91 行
3.0 KiB
JSON
91 行
3.0 KiB
JSON
{
|
|
"lesson": "03-realtime-voice-assistant",
|
|
"title": "Capstone 03 — Real-Time Voice Assistant (ASR to LLM to TTS)",
|
|
"questions": [
|
|
{
|
|
"stage": "pre",
|
|
"question": "Why can a voice agent not be built by stitching three blocking REST calls?",
|
|
"options": [
|
|
"REST endpoints have a 30-second hard timeout",
|
|
"REST is incompatible with WebRTC",
|
|
"JSON serialization is too slow for audio data",
|
|
"End-to-end latency below 800ms requires pipelined streaming at every stage"
|
|
],
|
|
"correct": 3,
|
|
"explanation": ""
|
|
},
|
|
{
|
|
"stage": "pre",
|
|
"question": "What is the role of the turn-detector alongside VAD?",
|
|
"options": [
|
|
"Trains a custom voice clone for the agent",
|
|
"Reads partial transcripts and scores whether the user has actually finished their utterance",
|
|
"Detects which speaker is talking in a multi-party call",
|
|
"Mixes background music into the output stream"
|
|
],
|
|
"correct": 1,
|
|
"explanation": ""
|
|
},
|
|
{
|
|
"stage": "check",
|
|
"question": "When the user starts speaking while the agent is mid-response, what must happen for barge-in to feel right?",
|
|
"options": [
|
|
"The TTS finishes the current sentence before yielding",
|
|
"The pipeline buffers user audio until TTS completes",
|
|
"The TTS is canceled immediately, remaining LLM output is dropped, and ASR re-arms",
|
|
"The agent raises the TTS volume to assert priority"
|
|
],
|
|
"correct": 2,
|
|
"explanation": ""
|
|
},
|
|
{
|
|
"stage": "check",
|
|
"question": "Why is a short filler such as \"one second, let me check\" emitted when a tool exceeds about 300ms?",
|
|
"options": [
|
|
"It avoids silence so the conversation does not stall while the side-channel tool runs",
|
|
"It triggers a fallback ASR model",
|
|
"It resets the WebRTC jitter buffer",
|
|
"It improves WER on the next utterance"
|
|
],
|
|
"correct": 0,
|
|
"explanation": ""
|
|
},
|
|
{
|
|
"stage": "check",
|
|
"question": "The first audio chunk must leave the server within roughly how long of the first LLM token?",
|
|
"options": [
|
|
"20ms",
|
|
"800ms",
|
|
"2 seconds",
|
|
"200ms"
|
|
],
|
|
"correct": 3,
|
|
"explanation": ""
|
|
},
|
|
{
|
|
"stage": "post",
|
|
"question": "Which metric directly measures inappropriate barge-in or over-eager turn closure?",
|
|
"options": [
|
|
"WER",
|
|
"MOS",
|
|
"Acceptance rate",
|
|
"False-cutoff rate"
|
|
],
|
|
"correct": 3,
|
|
"explanation": ""
|
|
},
|
|
{
|
|
"stage": "post",
|
|
"question": "Under 3% packet loss, which two adaptive behaviors does the pipeline rely on?",
|
|
"options": [
|
|
"Switching to a larger LLM and disabling TTS",
|
|
"Falling back to PSTN audio codecs",
|
|
"Holding partial transcripts and raising the VAD speech-gate threshold",
|
|
"Restarting the LiveKit room"
|
|
],
|
|
"correct": 2,
|
|
"explanation": ""
|
|
}
|
|
]
|
|
}
|