Ethan Tan
11/11/2024, 5:05 PMOptional
This is the plan for when the assistant should start talking.
You should configure this if you’re running into these issues:
The assistant is too slow to start talking after the customer is done speaking.
The assistant is too fast to start talking after the customer is done speaking.
The assistant is so fast that it’s actually interrupting the customer.
Hide 3 properties
waitSeconds
double
Optional
This is how long assistant waits before speaking. Defaults to 0.4.
This is the minimum it will wait but if there is latency is the pipeline, this minimum will be exceeded. This is really a stopgap in case the pipeline is moving too fast.
Example:
If model generates tokens and voice generates bytes within 100ms, the pipeline still waits 300ms before outputting speech.
Usage:
If the customer is taking long pauses, set this to a higher value.
If the assistant is accidentally jumping in too much, set this to a higher value.
@default 0.4
smartEndpointingEnabled
boolean
Optional
Defaults to false
This determines if a customer speech is considered done (endpointing) using the VAP model on customer’s speech. This is good for middle-of-thought detection.
Once an endpoint is triggered, the request is sent to assistant.model.
Default false since experimental.
@default false
transcriptionEndpointingPlan
object
Optional
This determines how a customer speech is considered done (endpointing) using the transcription of customer’s speech.
Once an endpoint is triggered, the request is sent to assistant.model.Vapi
11/11/2024, 5:08 PMstartSpeakingPlan options, waitSeconds, smartEndpointingEnabled, and transcriptionEndpointingPlan work together to determine when the assistant should start speaking. If you enable smartEndpointingEnabled by setting it to true but do not explicitly set waitSeconds or transcriptionEndpointingPlan, they will still be active at their default values. The default for waitSeconds is 0.4 seconds, and smartEndpointingEnabled is false by default, which means if you set it to true, you are overriding the default behavior. The transcriptionEndpointingPlan has its own defaults if not set.
2. As per the information provided, responseDelaySeconds is not mentioned as deprecated. It is a separate configuration that specifies the minimum number of seconds to wait after user speech before the assistant starts speaking, with a default value of 0.4 seconds. If there have been updates to the API that deprecate this option, it would be best to refer to the latest documentation or release notes for confirmation. If you need further assistance on this matter, please ask support for more info on this.Vapi
11/11/2024, 5:08 PMShubham Bajaj
11/11/2024, 6:16 PMwaitSeconds, smartEndpointingEnabled, and `transcriptionEndpointingPlan`:
- waitSeconds provides a basic delay before the assistant starts talking, acting as a minimum wait time.
- smartEndpointingEnabled takes priority if enabled. When smartEndpointingEnabled is true, it overrides transcriptionEndpointingPlan entirely, meaning the assistant uses a smart model for timing and ignores other endpointing settings.
- transcriptionEndpointingPlan only applies when smartEndpointingEnabled is false. It adjusts timing based on transcription patterns like punctuation or numbers.
2. If you set smartEndpointingEnabled = true but don’t set the other two:
- Yes, waitSeconds and transcriptionEndpointingPlan are ignored entirely when smartEndpointingEnabled is true.
3. Is responseDelaySeconds deprecated?
- Yes, responseDelaySeconds is essentially replaced by waitSeconds in the startSpeakingPlan configuration. Use waitSeconds instead for setting the initial delay before the assistant speaks.Ethan Tan
11/12/2024, 5:03 PM