Aprenda como usar anotações para estruturar corretamente agentes, tarefas e componentes no CrewAI
crew.py
.
@CrewBase
: Usada para decorar a classe principal do crew.@agent
: Decora métodos que definem e retornam objetos Agent.@task
: Decora métodos que definem e retornam objetos Task.@crew
: Decora o método que cria e retorna o objeto Crew.@llm
: Decora métodos que inicializam e retornam objetos Language Model.@tool
: Decora métodos que inicializam e retornam objetos Tool.@callback
: Utilizada para definir métodos de callback.@output_json
: Utilizada para métodos que retornam dados em JSON.@output_pydantic
: Utilizada para métodos que retornam modelos Pydantic.@cache_handler
: Utilizada para definição de métodos de manipulação de cache.@CrewBase
é usada para decorar a classe principal do crew. Esta classe geralmente contém as configurações e métodos para criação de agentes, tarefas e do próprio crew.
@tool
é usada para decorar métodos que retornam objetos tool. Essas ferramentas podem ser usadas por agentes para executar tarefas específicas.
@llm
é usada para decorar métodos que inicializam e retornam objetos Language Model. Esses LLMs são utilizados pelos agentes para tarefas de processamento de linguagem natural.
@agent
é usada para decorar métodos que definem e retornam objetos Agent.
@task
é usada para decorar métodos que definem e retornam objetos Task. Esses métodos especificam a configuração da tarefa e o agente responsável por ela.
@crew
é usada para decorar o método que cria e retorna o objeto Crew
. Este método reúne todos os componentes (agentes e tarefas) em um crew funcional.
agents.yaml
pode ser estruturado para o agente researcher:
LinkedinProfileCrew
. A configuração especifica o papel do agente, objetivo, contexto e outras propriedades, como o LLM e as tools que ele utiliza.
Repare como os campos llm
e tools
no arquivo YAML correspondem aos métodos decorados com @llm
e @tool
na classe Python.