1
resposta

erro no exemplo

para o código abaixo:

from langchain_core.prompts import ChatPromptTemplate

system = f"""Você tem acesso a um dataframe pandas df. Aqui está a saída de df.head().to_markdown():

``` {df.head().to_markdown()} ```

Dada uma pergunta do usuário, escreva o código Python para respondê-la. Retorne SOMENTE o código Python válido e nada mais. Não presuma que você tem acesso a nenhuma biblioteca além das bibliotecas Python integradas e pandas."""

prompt = ChatPromptTemplate.from_messages([("system", system), ("human", "{question}")])

cadeia = prompt | llm_com_ferramenta | parser | ferramenta_python

resposta = cadeia.invoke({"question": "Qual é a correlação entre anos de experiência do agente e tempo de entrega?"}) print(resposta)

Recebo o seguinte erro: acredito que a LLM esteja gerando o código incorreto SyntaxError: closing parenthesis ')' does not match opening parenthesis '[' (, line 1)

1 resposta

Olá, Fabio, como vai?

O erro acontece pela forma como a LLM está interpretando a pergunta original atualmente. Quando perguntamos "Qual é a correlação entre anos de experiência do agente e tempo de entrega?", ela não consegue mapear corretamente esses termos para os nomes reais das colunas do DataFrame, o que pode levar à geração de código com erros de sintaxe, como esse SyntaxError.

Ao especificar diretamente os nomes das colunas 'anos_experiencia_agente' e 'tempo_entrega', você remove qualquer ambiguidade e facilita para a LLM entender exatamente de onde extrair os dados, resultando numa resposta mais precisa. Esse tipo de ajuste no prompt é comum quando usamos LLMs em tarefas de análise de dados automatizada.

resposta = cadeia.invoke({"question": "Qual é a correlação entre as colunas 'anos_experiencia_agente' e 'tempo_entrega'?"})

Peço que faça o teste e me retorne o resultado, por favor.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado