-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Add a new PipelineWrapper
component
#9
Conversation
Pull Request Test Coverage Report for Build 9367752599Details
💛 - Coveralls |
Hi @masci -- i tried it out but am confused about how it would work. Here I have an example code -- I create two WrappedPipelines and try to connect them together.
I expect the output to be: Is this because the 'connect' function is not working yet? But, taking a step back, I also am concerned that this whole concept of SuperPipelines being implemented using Components might get very complicated. I don't know how a user will keep track of all the levels of data needed. Trying to reuse a Pipeline will require deep knowledge of its internals, which is kind of "code smell". Thoughts? |
@mikebellerU I fixed the wrap/unwrap of the data passed from the wrapping component to the wrapped pipeline, now the output of your snippet should be
The goal of this component is to treat certain pipelines as "blackboxes" that you can invoke like it was a regular component. I don't think you need to necessarily know the internals of the wrapped pipeline to be able to use it, for example from your snippet if you (Any consideration about how complex is passing data to |
Ah! The patched version works. I think I also understand your point about input / output. I really hadn't used these methods enough or really understood their value until you just explained it now -- so thank you for that! I wonder though whether the PipelineWrapper still isn't quite right. Here is an example where we I have wrapped a pipeline in a pipeline, in a pipeline. The pipeline.inputs() call seems to give the correct answer, but when I try to run the pipeline, something is going wrong:
PP's inputs are described (in the print output) as:
Thoughts? |
After an internal sync we decided not to pursue this component further. The solution doesn't feel quite right and the use cases that would benefit the most (like agentic pipelines) still have unclear requirements. Currently the problem can be addressed by breaking down pipelines into smaller ones when possible, or considering to have bigger components. If anyone from the community wants to take this on, this could make a good integration. |
Related Issues
Proposed Changes:
How did you test it?
Notes for the reviewer
Checklist
fix:
,feat:
,build:
,chore:
,ci:
,docs:
,style:
,refactor:
,perf:
,test:
.