Hi, thanks for open-sourcing SoulX-LiveAct.
While reading demo.py, I noticed that the demo service creates a single long-lived DistributedVideoEngine instance and processes multiple tasks with the same engine. At the same time, self.kv_cache is initialized in __init__ and then reused inside generate_and_push() for inference.
I could not find a per-task KV-cache reset/reinitialization path before starting a new request. Since this is a streaming / memory-cached generation pipeline, it seems possible that history from the previous task may leak into the next task, especially when the server handles multiple sequential requests with different images/audio.
Why this matters:
- possible cross-session contamination
- less reproducible outputs across consecutive runs
- harder debugging when the first task behaves differently from later tasks
- potential long-running stability issues for the GUI demo server
If I missed an existing reset path, please let me know.
Hi, thanks for open-sourcing SoulX-LiveAct.
While reading
demo.py, I noticed that the demo service creates a single long-livedDistributedVideoEngineinstance and processes multiple tasks with the same engine. At the same time,self.kv_cacheis initialized in__init__and then reused insidegenerate_and_push()for inference.I could not find a per-task KV-cache reset/reinitialization path before starting a new request. Since this is a streaming / memory-cached generation pipeline, it seems possible that history from the previous task may leak into the next task, especially when the server handles multiple sequential requests with different images/audio.
Why this matters:
If I missed an existing reset path, please let me know.