An LLM is "just" a document completer. Given text, it predicts the following text.
So there is nothing stopping you from bolting on a system which works like:
- Given the current streaming input, continually update a pool of N likely continuations (predict what the user will say)
- For each of those N likely continuations, pre-generate responses
- If the actual user continuation matches one of the continuations, use your pre-generated response
This is trading off compute for latency, as you won't use at least N-1 of those pre-generated responses.