A Local Voice Assistant for Medical Record Support
A voice assistant for patient portal support, running fully offline. Six pipelines were timed end to end, and swapping the voice engine saved eight seconds while swapping the language model saved two.
Method
AudioLanguage
Topic
SocietyScience & Tech
A fully offline voice assistant for patient portal support, timed end to end on one RTX 5070 Ti with no cloud API. The voice engine, Chatterbox or Kyutai's Moshi, costs far more time than the local language model. The question I wanted answered was where the time goes.
Four stages, each swappable and each swap measured:
Listen: faster-whisper turns the question into text.
Retrieve: ChromaDB by meaning, plus an exact lookup for record numbers.
Answer: a local language model limited to what was retrieved, tested at three sizes.
Speak: Chatterbox or Kyutai's Moshi.
The voice engine takes 8 to 17 seconds, the language model 1 to 4
Swapping Chatterbox for Moshi cut the total wait for all three language models.
Timed from the end of the question to a spoken answer being ready.
Swapping the voice engine saved eight seconds. Swapping the language model saved two.
Chatterbox, 8.8s to generateMoshi, 3.9s to generate"Please confirm you are currently taking Metformin 500 milligrams twice daily."
The same sentence takes 8.8s on Chatterbox and 3.9s on Moshi
Both clips read one patient-portal sentence aloud.