Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Oi, Leticia! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
O erro indica que a task1 falhou ao tentar buscar os artigos. Vamos testar os pontos principais:
Atualize o método results():
O aviso aponta que o método Search.results foi descontinuado. Troque por Client.results.
Ative o modo detalhado da execução:
Isso ajuda a entender o que deu errado.
crew = Crew(
agents=[agent],
tasks=[task1, task2],
verbose=2
)
Teste a ferramenta de busca isoladamente:
Verifique se ela está retornando algo:
print(tool.run("inteligência artificial nas redes sociais"))
Se a busca não retornar nada, o erro está nela e não na tarefa.
Estamos à disposição para te ajudar caso o problema persista.
Abraços e bons estudos!
Também estou tendo um problema similar com o crew.kickoff.
Resolvi a questão do Search.results estar descontinuado. Troquei por Client.results:
O print(tool.run está funcionando corretamente:
Porém ao chamar o result = crew.kickoff() dá um erro de limite máximo de chamadas recursivas:
Oi, Ricardo, tudo bem?
Sobre sua dúvida, o erro está acontecendo porque o método client.results() pode estar tentando iterar diretamente sobre o objeto Search, que hoje não retorna resultados imediatamente.
Siga esses passos para corrigir:
.results() diretamente:Substitua:
client = arxiv.Client()
for resultado in client.results(busca):
Por:
resultados_busca = arxiv.Client().results(busca)
for resultado in resultados_busca:
consulta_artigos está realmente retornando algo. Teste isoladamente assim:
print(consulta_artigos("inteligência artificial nas redes sociais"))
Se esse teste funcionar fora do crew.kickoff(), então o problema está dentro do fluxo de execução da tarefa no agente, não na ferramenta.
Configure assim para debugar melhor:
crew = Crew(
agents=[agente],
tasks=[task],
verbose=2
)
client fora do escopo se não estiver usando nada além do .results(). Se quiser simplificar, pode fazer direto:
for resultado in arxiv.Client().results(busca):
Isso evita manter um client sem necessidade.
Caso ainda encontre erros, fico à disposição. Abraços e bons estudos!