llama_deploy icon indicating copy to clipboard operation
llama_deploy copied to clipboard

[EPIC] Maintain context/session state between runs

Open logan-markewich opened this issue 1 year ago • 1 comments

Currently, the code that was supposed to maintain context/state between runs is all commented out.

We need to bring back this feature, by figuring out how to serialize the context. That means, we need to serialize

  • the globals dict
  • the queues
  • etc.

In this case, I don't think it's enough to maintain just the global dict. We need it all, especially to support future use-cases where runs of a workflow can be stepwise, take days, have undo/rewind, etc.

This will require figuring out how to do this in llama-index itself first of course

logan-markewich avatar Sep 26 '24 16:09 logan-markewich

I'm looking first to a simple case of managing a session-level context in the WorkflowService. I see a framework is in place but not yet implemented. The basic idea is easy, create a context for each session and persist it (in-memory initially, eventually on storage).

The simple approach is to wire that in to the existing Workflow Service or a subclass, but I wondering if the notion of a separate ContextManager class is appropriate? I'll probably hold that in store as a refactoring.

jonpspri avatar Oct 06 '24 11:10 jonpspri

This should actually be supported now. Going to close this out.

logan-markewich avatar Apr 01 '25 22:04 logan-markewich