Get Deepgram Flux working with ServiceSwitcher
Problem Statement
I'm looking for a way to use the ServiceSwitcher to apply fallbacks mid-call in case Deepgram's Flux model fails. The challenge is that doing so would require activating VAD and turning on analysis during an active call, which isn't currently possible.
Proposed Solution
I've experimented with a WebSocket input transport that intercepts every method related to VAD and turn analysis. When Flux is active, these methods are essentially no-ops and the VAD state remains permanently "QUIET". If Flux fails, I re-enable them. However, this approach hasn’t worked reliably, since sometimes I get duplicate responses from the LLM. My assumption is that the default "QUIET" VAD state I'm using is somehow corrupting the pipeline state in certain turns.
Alternative Solutions
No response
Additional Context
Discord post: https://discord.com/channels/1239284677165056021/1435802573033705544/1435802573033705544
Would you be willing to help implement this feature?
- [x] Yes, I'd like to contribute
- [ ] No, I'm just suggesting
@jamsea is there any ETA on when this could be implemented?
We're refactoring how interruptions work. Once that work lands, then I would expect DeepgramFlux to fit better into the new paradigm, making service switching viable.
The interruptions refactor is happening here: https://github.com/pipecat-ai/pipecat/pull/3045
This will hopefully land in the next week.
@markbackman thanks for the update! Much appreciated.