File ~/src/2024/llama_index_gordon/basics/.venv/lib/python3.12/site-packages/llama_index/core/query_pipeline/query.py:410, in QueryPipeline.run(self, return_values_direct, callback_manager, batch, *args, **kwargs) 406 query_payload = json.dumps(str(kwargs)) 407 with self.callback_manager.event( 408 CBEventType.QUERY, payload={EventPayload.QUERY_STR: query_payload} 409 ) as query_event: --> 410 outputs, _ = self._run( 411 *args, 412 return_values_direct=return_values_direct, 413 show_intermediates=False, 414 batch=batch, 415 **kwargs, 416 ) 418 return outputs
(see the file "message.txt"
def _run
reference to asynchronous components, which is strange to me.pipeline = QueryPipeline( modules={ "input": input_component, "rewrite_template": rewrite_template, "llm": llm_c, "rewrite_retriever": retriever, }, verbose=True, ) # run both retrievers -- once with the hallucinated query, once with the real query pipeline.add_link( "input", "rewrite_template", src_key="query_str", dest_key="query_str" ) pipeline.add_link( "input", "rewrite_template", src_key="chat_history_str", dest_key="chat_history_str", ) pipeline.add_link("rewrite_template", "llm") pipeline.add_link("llm", "rewrite_retriever")
pipeline.add_link("input", "query_retriever", src_key="query_str")
["rewrite_retriever", "query_retriever"]]
@dosu, I think I found the error:
Notice that the `retriever` value appears twice in the modules list. Is that allowed? It matches perfectly with the multiple outputs. Perhaps the retriever should have been two different instances of the Retriever class?