deepset-ai / canals

A component orchestration engine
https://deepset-ai.github.io/canals/
Apache License 2.0
27 stars 3 forks source link

Component with variadic inputs doesn't wait until all connected components sent their outputs #141

Closed julian-risch closed 11 months ago

julian-risch commented 1 year ago

When using variadic inputs in a hybrid retrieval pipeline with a DocumentJoiner component, pipeline.run fails with: TypeError: SimilarityRanker.run() missing 1 required positional argument: 'query' although pipeline.run sets the 'query' argument.

It seems that the joiner and the ranker components in this pipeline are called twice. _run_component is called for the joiner before both retrievers ran. Further, _run_component is called first with the correct input for the ranker and then without the query param.

To reproduce https://colab.research.google.com/drive/1DXTcrdQUBsctpCUFo5Hrm0p1BWn9PzOC?usp=sharing

ZanSara commented 1 year ago

Will be fixed by https://github.com/deepset-ai/canals/pull/55

masci commented 11 months ago

Should be fixed in #148