haystack icon indicating copy to clipboard operation
haystack copied to clipboard

Handling Component inputs with default values must be done explicitly

Open davidsbatista opened this issue 3 months ago • 0 comments

The two data dicts passed to a pipeline have different behaviours

This makes some components run twice

pipe_from_file.run(
    {"prompt_builder": {"query": query}, 
      "retriever": {'query': 'What is the capital of France?'}
      }
  )

whereas if we explicitly pass the None values to some inputs makes the job of the Pipeline run() method easier

pipe_from_file.run(
    {"prompt_builder": {"query": query}, 
      "retriever": {
          'filters': None, 
          'query': 'What is the capital of France?', 
          'scale_score': None, 
          'top_k': None}
      }
  )

On way to solve this is to overwrite the datadict at the beginning of the run with all the parameters default/None parameters needed for a component.

davidsbatista avatar Mar 20 '24 16:03 davidsbatista