feat: Expose output_variable
in PromptNode result, adjust unit tests
#3892
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related Issues
PromptNodes
in a Multi-PromptNode
-Pipelines are burried #3878Proposed Changes:
As noted by the author of #3878 the results of intermediate PromptNode(s) in the pipeline are stored under the invocation_context results variable thus making them a bit less accessible than having it ideally as they key under the root of the resulting dictionary returned to the Haystack pipeline user.
The change required is relatively simple. We elevate
output_variable
value under the root output dictionary returned to the Haystack pipeline user. However, we also leave it in invocation_context so other nodes down the pipeline can use it.How did you test it?
No new tests were added but the existing tests have been adjusted to check for presence of
output_variable
in the resulting dictionary. We also check the value of that variable for validity.Notes for the reviewer
There is some duplication of keys and values in the resulting dictionary. The reason for that is that we need to put key/value resulting pair in the invocation_context as well. We'll remove the duplication once we refactor pipelines inner logic and clean up pipeline run signatures.
Checklist
fix:
,feat:
,build:
,chore:
,ci:
,docs:
,style:
,refactor:
,perf:
,test:
.