rowdy
05/06/2025, 3:52 PMVapi Support Bot
05/06/2025, 3:53 PMnumberToDigitsCutoff setting in your assistant's voice configuration:
json
{
"voice": {
"chunkPlan": {
"formatPlan": {
"numberToDigitsCutoff": 1 // Set to a very low value
}
}
}
}
This forces numbers to be read as individual digits rather than as whole numbers.
[Source](https://discord.com/channels/1211482211119796234/1342349738032500736)
Source:
- [Discord discussion about numberToDigitsCutoff](https://discord.com/channels/1211482211119796234/1342349738032500736)rowdy
05/06/2025, 5:10 PMrowdy
05/06/2025, 5:17 PMVapi Support Bot
05/06/2025, 5:19 PMnumberToDigitsCutoff setting controls whether numbers are read as individual digits or as whole numbers. Setting it to a very low value (like 1) makes all numbers read digit by digit.
I couldn't find a direct solution for handling both scenarios simultaneously.
Are you looking to implement this in a single conversation flow, or would it be feasible to use different assistant configurations for different parts of your application?
Source:
- [Discord discussion about numberToDigitsCutoff](https://discord.com/channels/1211482211119796234/1342349738032500736)Vapi Support Bot
05/06/2025, 5:19 PMnumberToDigitsCutoff setting controls whether numbers are read as individual digits or as whole numbers. Setting it to a very low value (like 1) makes all numbers read digit by digit.
I couldn't find a direct solution for handling both scenarios simultaneously.
Are you looking to implement this in a single conversation flow, or would it be feasible to use different assistant configurations for different parts of your application?
Source:
- [Discord discussion about numberToDigitsCutoff](https://discord.com/channels/1211482211119796234/1342349738032500736)rowdy
05/06/2025, 5:30 PMrowdy
05/06/2025, 5:30 PMVapi Support Bot
05/06/2025, 5:32 PMnumberToDigitsCutoff setting.
Could you share more details about your specific use case? For example, are you trying to implement a prompt that explicitly identifies when to read numbers as digits versus whole numbers, or are you looking for an automatic solution that can detect the context?
Source:
- [Discord discussion about numberToDigitsCutoff](https://discord.com/channels/1211482211119796234/1342349738032500736)Vapi Support Bot
05/06/2025, 5:32 PMnumberToDigitsCutoff setting.
Could you share more details about your specific use case? For example, are you trying to implement a prompt that explicitly identifies when to read numbers as digits versus whole numbers, or are you looking for an automatic solution that can detect the context?
Source:
- [Discord discussion about numberToDigitsCutoff](https://discord.com/channels/1211482211119796234/1342349738032500736)rowdy
05/06/2025, 5:33 PMVapi Support Bot
05/06/2025, 5:35 PMnumberToDigitsCutoff setting in Vapi determines whether numbers are spoken as digits or words. While there's no direct way to handle both scenarios simultaneously, you can configure this setting in your voice configuration:
json
{
voice: {
chunkPlan: {
formatPlan: {
numberToDigitsCutoff: 100000 // Set higher for years/mileage as words
}
}
}
}
For your appointment system, you might need to implement custom logic in your application to handle phone numbers separately.
Sources:
- [Discord message](https://discord.com/channels/1211482211119796234/1342349738032500736)
- [Vapi documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)Vapi Support Bot
05/06/2025, 5:35 PMnumberToDigitsCutoff setting in Vapi determines whether numbers are spoken as digits or words. While there's no direct way to handle both scenarios simultaneously, you can configure this setting in your voice configuration:
json
{
voice: {
chunkPlan: {
formatPlan: {
numberToDigitsCutoff: 100000 // Set higher for years/mileage as words
}
}
}
}
For your appointment system, you might need to implement custom logic in your application to handle phone numbers separately.
Sources:
- [Discord message](https://discord.com/channels/1211482211119796234/1342349738032500736)
- [Vapi documentation](https://docs.vapi.ai/assistants/voice-formatting-plan)rowdy
05/06/2025, 5:45 PMVapi Support Bot
05/06/2025, 5:47 PMjavascript
// In your custom LLM server
app.post('/chat/completions', async (req, res) => {
const openAIResponse = await openai.chat.completions.create(requestArgs);
for await (const chunk of openAIResponse) {
// Modify text here - e.g., format phone numbers as digits
const modifiedChunk = formatPhoneNumbers(chunk);
res.write(`data: ${JSON.stringify(modifiedChunk)}\n\n`);
}
});
Then configure Vapi to use your custom endpoint instead of calling OpenAI directly.
Sources:
- [Custom LLM Integration](https://docs.vapi.ai/customization/custom_llm/fine-tuned-openai-models)
- [Using Your Server](https://docs.vapi.ai/customization/custom_llm/using-your-server)
- [Custom LLM Tool Calling Integration](https://docs.vapi.ai/documentation/advanced-concepts/customization/custom-llm/custom-llm-tool-calling-integration)Vapi Support Bot
05/06/2025, 5:47 PMjavascript
// In your custom LLM server
app.post('/chat/completions', async (req, res) => {
const openAIResponse = await openai.chat.completions.create(requestArgs);
for await (const chunk of openAIResponse) {
// Modify text here - e.g., format phone numbers as digits
const modifiedChunk = formatPhoneNumbers(chunk);
res.write(`data: ${JSON.stringify(modifiedChunk)}\n\n`);
}
});
Then configure Vapi to use your custom endpoint instead of calling OpenAI directly.
Sources:
- [Custom LLM Integration](https://docs.vapi.ai/customization/custom_llm/fine-tuned-openai-models)
- [Using Your Server](https://docs.vapi.ai/customization/custom_llm/using-your-server)
- [Custom LLM Tool Calling Integration](https://docs.vapi.ai/documentation/advanced-concepts/customization/custom-llm/custom-llm-tool-calling-integration)rowdy
05/06/2025, 5:59 PMVapi Support Bot
05/06/2025, 6:01 PMjavascript
// Example implementation in Vapi
assistant.onIntent("getName", async (conv) => {
const name = await conv.ask("May I have your name, please?");
const confirmedName = await conv.ask(`I heard ${name}. To confirm, could you spell that for me?`);
await conv.say(`Thanks, ${name}. I've confirmed your name.`);
});
This approach significantly improves transcription accuracy, especially for foreign names that might otherwise receive low confidence scores.
Sources:
- [Improving Transcription Accuracy](https://discord.com/channels/1211482211119796234/1331353180570914878)
- [Challenges with Transcribing Foreign Names](https://discord.com/channels/1211482211119796234/1333510134617604147)Vapi Support Bot
05/06/2025, 6:01 PMjavascript
// Example implementation in Vapi
assistant.onIntent("getName", async (conv) => {
const name = await conv.ask("May I have your name, please?");
const confirmedName = await conv.ask(`I heard ${name}. To confirm, could you spell that for me?`);
await conv.say(`Thanks, ${name}. I've confirmed your name.`);
});
This approach significantly improves transcription accuracy, especially for foreign names that might otherwise receive low confidence scores.
Sources:
- [Improving Transcription Accuracy](https://discord.com/channels/1211482211119796234/1331353180570914878)
- [Challenges with Transcribing Foreign Names](https://discord.com/channels/1211482211119796234/1333510134617604147)Kings_big💫
05/06/2025, 6:03 PMrowdy
05/06/2025, 6:03 PMKings_big💫
05/06/2025, 6:04 PMrowdy
05/06/2025, 6:04 PMrowdy
05/06/2025, 6:04 PMrowdy
05/06/2025, 6:05 PMChiranjeet Mishra
05/10/2025, 10:45 PM