David Jurado
06/14/2025, 8:27 AMVapi Support Bot
06/14/2025, 8:29 AMjs
let buffer = "";
let debounceTimer;
const DEBOUNCE_MS = 1000; // 1 second
function onTranscriptFragment(fragment) {
buffer += fragment;
clearTimeout(debounceTimer);
if (/[.!?]$/.test(fragment.trim())) {
sendToLLM(buffer);
buffer = "";
} else {
debounceTimer = setTimeout(() => {
sendToLLM(buffer);
buffer = "";
}, DEBOUNCE_MS);
}
}
This approach reduces unnecessary LLM calls and ensures more complete context is sent each time.
[See Vapi's custom transcriber debouncing logic for reference.](https://docs.vapi.ai/customization/custom-transcriber)
Source:
- [Custom transcriber – Vapi Documentation](https://docs.vapi.ai/customization/custom-transcriber)Vapi Support Bot
06/14/2025, 8:29 AMjs
let buffer = "";
let debounceTimer;
const DEBOUNCE_MS = 1000; // 1 second
function onTranscriptFragment(fragment) {
buffer += fragment;
clearTimeout(debounceTimer);
if (/[.!?]$/.test(fragment.trim())) {
sendToLLM(buffer);
buffer = "";
} else {
debounceTimer = setTimeout(() => {
sendToLLM(buffer);
buffer = "";
}, DEBOUNCE_MS);
}
}
This approach reduces unnecessary LLM calls and ensures more complete context is sent each time.
[See Vapi's custom transcriber debouncing logic for reference.](https://docs.vapi.ai/customization/custom-transcriber)
Source:
- [Custom transcriber – Vapi Documentation](https://docs.vapi.ai/customization/custom-transcriber)David Jurado
06/14/2025, 8:32 AMChiranjeet Mishra
06/14/2025, 12:00 PMDavid Jurado
06/14/2025, 12:13 PMKings_big💫
06/14/2025, 1:24 PMChiranjeet Mishra
06/16/2025, 8:31 AMDavid Jurado
06/19/2025, 8:21 AMKings_big💫
06/19/2025, 2:27 PMDavid Jurado
06/19/2025, 2:43 PM