HNHacker News
TopNewBestAskShowJobs

renus

40 karma · joined February 11, 2018

submissionscomments
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
Everything runs locally, we use:

- WhisperLive for the transcription - https://github.com/collabora/WhisperLive - WhisperSpeech for the text-to-speech - https://github.com/collabora/WhisperSpeech

and an LLM (phi-2, Mistral, etc.) in between

renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
We are going to put the sample interface into the Docker, so it's more mainly:

> docker run --gpus all --shm-size 64G -p 80:80 -it ghcr.io/collabora/whisperfusion:latest

instead of:

> docker run --gpus all --shm-size 64G -p 6006:6006 -p 8888:8888 -it ghcr.io/collabora/whisperfusion:latest > cd examples/chatbot/html > python -m http.server

renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
A fast turnaround time is also super important; if the transcription is not correct, waiting multiple seconds for each turn would kill the application. E.g., ordering food using voice is only convenient if it gets me right all the time; if not, I will fall back to the app.
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
To streamline the experience we don't send the transcription to the LLM after the pause, since we are using the time we wait for the end of sentence trigger (pause) to generate the LLM and text-to-speech output. So ideally once we detected the pause, we already processed everything.
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
We tested https://huggingface.co/cognitivecomputations/dolphin-2_6-phi... as well, in some tasks it performs better. That said, you can use Mistral as well, we support a few models through TensorRT-LLM.
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
pyryt posted https://arxiv.org/abs/2010.10874, which might be helpful here, but we probably end off with personalized models that learned from conversation styles. A magic stop/processing word would be the easiest to add since you already have the transcript, but it's taking the natural feel of a conversation.
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
We will add the details, thanks for pointing it out.
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
https://github.com/collabora/WhisperLive
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
Good point; another area we are currently looking into is predicting intention; often, when talking to someone, we have a good idea of what that person might say next. That would not only help with latency but also, allow us to give better answers, and load the right context.
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
For the transcription part, we are looking into W2v-BERT 2.0 as well and will make it available in a live-streaming context. That said, Whisper, especially small (<50ms), is not as compute-heavy; right now, most of the compute is consumed by the LLM.
renus··on Show HN: WhisperFusion – Low-latency conversations with an AI chatbot
WhisperLive builds upon the Whisper model; for the demo, we used small.en, but you can also use large without introducing a bigger latency for the overall pipeline since the transcription process is decoupled from the LLM and text-to-speech process.
renus··on WhisperFusion: Ultra-low latency conversations with an AI chatbot
WhisperFusion is fully open-source - https://github.com/collabora/WhisperFusion
renus··on Triple Threat: The Power of Transcription, Summary, and Translation
Curious to see how this works? Check out our demo page - https://col.la/transcription to generate your own transcription, summary, and translation, or use our browser extension - https://github.com/collabora/WhisperLive to get live transcriptions.
renus··on [dead]
Using state-of-the-art natural language processing techniques, we developed an AI-driven automatic transcription, summarization, and translation pipeline.