Quando invoco o executor (executor.invoke({'input': pergunta})), eu obtenho um json com input e output, porém com o output sendo com linguagem natural. Mas eu preciso, dependendo da ferramenta que foi selecionada, implementar um gráfico com a resposta de def _run(self, input) -> str:
Ou seja, em algumas situações, vou precisar verificar se a resposta é um DataFrame ou não; Se for, preciso chamar alguma função que construa um gráfico (estou utilizando Gradio pro front-end).
Como posso ter esse controle sobre a resposta de executor.invoke({'input': pergunta}) a fim de validar o tipo de dado que está sendo retornado e, a partir daí, decidir se quero printar para o usuário em linguagem natural ou se quero implementar um gráfico com os dados retornados (um DataFrame, por exemplo)?
Acredito que a questão esteja na criação do agente em prompt = hub.pull("hwchase17/react") self.agente = create_react_agent(llm, self.tools, prompt)