from crewai import Agent, Crew, Process, Task
from crewai_tools import SerperDevTool
def create_crew() -> Crew:
"""Criar uma crew com múltiplos agentes para rastreamento abrangente."""
llm = LLM(model="gpt-4o-mini")
search_tool = SerperDevTool()
# Definir agentes com papéis específicos
researcher = Agent(
role="Analista de Pesquisa Sênior",
goal="Descobrir desenvolvimentos de ponta em IA e ciência de dados",
backstory="""Você trabalha em um think tank de tecnologia líder.
Sua especialidade está em identificar tendências emergentes.
Você tem talento para dissecar dados complexos e apresentar insights acionáveis.""",
verbose=True,
allow_delegation=False,
llm=llm,
tools=[search_tool],
)
writer = Agent(
role="Estrategista de Conteúdo Tecnológico",
goal="Criar conteúdo envolvente sobre avanços tecnológicos",
backstory="""Você é um Estrategista de Conteúdo renomado, conhecido por seus artigos perspicazes e envolventes.
Você transforma conceitos complexos em narrativas convincentes.""",
verbose=True,
allow_delegation=True,
llm=llm,
)
# Criar tarefas para seus agentes
research_task = Task(
description="""Realize uma análise abrangente dos últimos avanços em {topic}.
Identifique tendências principais, tecnologias revolucionárias e impactos potenciais na indústria.""",
expected_output="Relatório de análise completo em pontos de bala",
agent=researcher,
)
writing_task = Task(
description="""Usando os insights fornecidos, desenvolva um post de blog envolvente
que destaque os avanços mais significativos em {topic}.
Seu post deve ser informativo, mas acessível, atendendo a um público conhecedor de tecnologia.
Faça soar legal, evite palavras complexas para não soar como IA.""",
expected_output="Post de blog completo de pelo menos 4 parágrafos",
agent=writer,
context=[research_task],
)
# Instanciar sua crew com um processo sequencial
crew = Crew(
agents=[researcher, writer],
tasks=[research_task, writing_task],
verbose=True,
process=Process.sequential
)
return crew
def run_crew():
"""Executar a crew e retornar resultados."""
crew = create_crew()
result = crew.kickoff(inputs={"topic": "desenvolvimentos em IA"})
return result
# Executar sua crew
if __name__ == "__main__":
# A instrumentação já foi inicializada acima neste módulo
result = run_crew()
print(result)