Boa tarde, Ao rodar a célula com o seguinte código
qp = QP(
modules = {
'input': InputComponent(),
'pandas_prompt': pandas_prompt,
'llm1': llm,
'pandas_output_parser': pandas_output_parser,
'response_synthesis_prompt': response_synthesis_prompt,
'llm2': llm,
},
verbose=True
)
qp.add_chain(['input', 'pandas_prompt', 'llm1', 'pandas_output_paser'])
#qp.add_chain(['input', 'pandas_prompt', 'llm1', 'pandas_output_parser', 'response_synthesis_prompt', 'llm2'])
qp.add_links(
[
Link('input', 'response_synthesis_prompt', dest_key='query_str'),
Link('llm1', 'response_synthesis_prompt', dest_key='pandas_instructions'),
Link('pandas_output_parser', 'response_synthesis_prompt', dest_key='pandas_output'),
]
)
qp.add_link('response_synthesis_prompt', 'llm2')
E fazer a pergunta com a query: response = qp.run(query_str='Qual é a média gasta por cada tipo de cliente?'), obtenho a seguinte mensagem.
> Running module input with input:
query_str: Qual é a média gasta por cada tipo de cliente?
> Running module pandas_prompt with input:
query_str: Qual é a média gasta por cada tipo de cliente?
> Running module llm1 with input:
messages: Você está trabalhando com um dataframe do pandas em Python chamado `df`.
Aqui estão os detalhes das colunas do DataFrame:
`ID_compra`: object
`filial`: object
`cidade`: object
`tipo_cliente`: object
`...
> Running module pandas_output_parser with input:
input: assistant: df.groupby('tipo_cliente')['total'].mean()
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-48-4aa2cbcc53e3> in <cell line: 0>()
----> 1 response = qp.run(query_str='Qual é a média gasta por cada tipo de cliente?')
7 frames
/usr/local/lib/python3.11/dist-packages/llama_index/core/query_pipeline/query.py in add_output_to_module_inputs(dest_key, output, module, module_inputs)
87 # ensure that there is only one remaining key given partials
88 if len(free_keys) != 1:
---> 89 raise ValueError(
90 "Module input keys must have exactly one key if "
91 "dest_key is not specified. Remaining keys: "
ValueError: Module input keys must have exactly one key if dest_key is not specified. Remaining keys: in module: {'pandas_output', 'query_str', 'pandas_instructions'}
Tentei algumas alterações com apoio do Gemini, mas não consegui resolver.