-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Description
Is your feature request related to a problem? Please describe.
I have a haystack pipeline that has certain components, most of which interacts with LLMs, and have custom processing logic.
At times, if a component in the later stages fails(there could be a lot of reasons), I have to re-run the pipeline for the specific input.
Reference - deepset-ai/haystack-experimental#281 (comment)
Describe the solution you'd like
What I would think of is a way to maintain stage for every component, and then whenever a pipeline breaks/crashes at a component, a way to resume from last state.
Benefits:
- Avoids running computationally heavy workloads(like GPU inference for embeddings), or cost heavy workloads(LLM calls) repeatedly, if there are any in the previous stages of the pipeline.
A discussion on this is preferred, around these points roughly:
- Whether this is a common problem or not, if it is only me, I would rather not make changes to haystack code
- What other benefits this could have, if at all we implement this
- Can we reuse(or borrow) ideas from breakpoints feature?
- Any workarounds?
- Implementation
Describe alternatives you've considered
I would appreciate a discussion around this.
Additional context
I would be happy to contribute this via a PR if we refine this idea and decide to go ahead with it.
fyi @davidsbatista