pub struct DeepgramTranscriber {
pub provider: ProviderTrue,
pub model: Option<DeepgramTranscriberModel>,
pub language: Option<LanguageTrue>,
pub smart_format: Option<bool>,
pub code_switching_enabled: Option<bool>,
pub mip_opt_out: Option<bool>,
pub numerals: Option<bool>,
pub confidence_threshold: Option<f64>,
pub keywords: Option<Vec<String>>,
pub keyterm: Option<Vec<String>>,
pub endpointing: Option<f64>,
pub fallback_plan: Option<FallbackTranscriberPlan>,
}
Fields§
§provider: ProviderTrue
This is the transcription provider that will be used.
model: Option<DeepgramTranscriberModel>
§language: Option<LanguageTrue>
This is the language that will be set for the transcription. The list of languages Deepgram supports can be found here: https://developers.deepgram.com/docs/models-languages-overview
smart_format: Option<bool>
This will be use smart format option provided by Deepgram. It’s default disabled because it can sometimes format numbers as times but it’s getting better.
code_switching_enabled: Option<bool>
This automatically switches the transcriber’s language when the customer’s language changes. Defaults to false. Usage: - If your customers switch languages mid-call, you can set this to true. Note: - To detect language changes, Vapi uses a custom trained model. Languages supported (X = limited support): 1. Arabic 2. Bengali 3. Cantonese 4. Chinese 5. Chinese Simplified (X) 6. Chinese Traditional (X) 7. English 8. Farsi (X) 9. French 10. German 11. Haitian Creole (X) 12. Hindi 13. Italian 14. Japanese 15. Korean 16. Portuguese 17. Russian 18. Spanish 19. Thai 20. Urdu 21. Vietnamese - To receive language-change-detected
webhook events, add it to assistant.serverMessages
. @default false
mip_opt_out: Option<bool>
If set to true, this will add mip_opt_out=true as a query parameter of all API requests. See https://developers.deepgram.com/docs/the-deepgram-model-improvement-partnership-program#want-to-opt-out This will only be used if you are using your own Deepgram API key. @default false
numerals: Option<bool>
If set to true, this will cause deepgram to convert spoken numbers to literal numerals. For example, "my phone number is nine-seven-two…" would become "my phone number is 972…" @default false
confidence_threshold: Option<f64>
Transcripts below this confidence threshold will be discarded. @default 0.4
keywords: Option<Vec<String>>
These keywords are passed to the transcription model to help it pick up use-case specific words. Anything that may not be a common word, like your company name, should be added here.
keyterm: Option<Vec<String>>
Keyterm Prompting allows you improve Keyword Recall Rate (KRR) for important keyterms or phrases up to 90%.
endpointing: Option<f64>
This is the timeout after which Deepgram will send transcription on user silence. You can read in-depth documentation here: https://developers.deepgram.com/docs/endpointing. Here are the most important bits: - Defaults to 10. This is recommended for most use cases to optimize for latency. - 10 can cause some missing transcriptions since because of the shorter context. This mostly happens for one-word utterances. For those uses cases, it’s recommended to try 300. It will add a bit of latency but the quality and reliability of the experience will be better. - If neither 10 nor 300 work, contact support@vapi.ai and we’ll find another solution. @default 10
fallback_plan: Option<FallbackTranscriberPlan>
This is the plan for voice provider fallbacks in the event that the primary voice provider fails.
Implementations§
Source§impl DeepgramTranscriber
impl DeepgramTranscriber
pub fn new(provider: ProviderTrue) -> DeepgramTranscriber
Trait Implementations§
Source§impl Clone for DeepgramTranscriber
impl Clone for DeepgramTranscriber
Source§fn clone(&self) -> DeepgramTranscriber
fn clone(&self) -> DeepgramTranscriber
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more