1
resposta

Erro no código da Aula 1

Estou rodando o código exatamente igual está na aula porém retorna o erro abaixo:


BadRequestError Traceback (most recent call last)
Cell In[60], line 19
15 prompt = ChatPromptTemplate.from_messages([("system", system), ("human", "{question}")])
17 cadeia = prompt | llm_com_ferramenta | parser | ferramenta_python
---> 19 resposta = cadeia.invoke({"question": "Qual é a correlação entre anos de experiência do agente e tempo de entrega?"})
21 print(resposta)

..................................
.................................

BadRequestError: Error code: 400 - {'error': {'message': "Failed to call a function. Please adjust your prompt. See 'failed_generation' for more details.", 'type': 'invalid_request_error', 'code': 'tool_use_failed', 'failed_generation': "\nimport pandas as pd\nimport numpy as np\n\ncorrelacao = df['anos_experiencia_agente'].corr(df['tempo_entrega'])\nprint(correlacao)\n"}}

1 resposta

Oi Sanderson,

O erro mostrado diz que houve um problema no uso da ferramenta pelo langchain. O que podemos fazer nesse caso é testar outro prompt.
Aqui eu fiz uma pequena modificação no texto do prompt e a ferramenta funcionou para mim:

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 inclua imports, pois as bibliotecas necessárias já estão disponíveis. \
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)