Exception: An error occurred while training the crew: 3 validation errors for Crew
manager_agent.id
This field is not to be set by the user. [type=may_not_set_field, input_value=UUID(‘28385e26-7f3a-4e39-9e02-61521420fc76’), input_type=UUID]
manager_agent.agent_executor
Input should be an instance of InstanceOf [type=is_instance_of, input_value=<crewai.agents.crew_agent…r object at 0x113874e00>, input_type=CrewAgentExecutor]
Input should be an instance of CacheHandler [type=is_instance_of, input_value={}, input_type=dict]
procurement_crew.py
from crewai import Agent, Crew, Process, Task
from crewai.project import CrewBase, agent, crew, task
from crewai_tools import EXASearchTool, ScrapeWebsiteTool, FirecrawlScrapeWebsiteTool, SerperDevTool
from produto_fornecedor.modelos import Fornecedores, ValidaWebsite
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
@CrewBase
class TimeSuprimentos:
“”“TimeSuprimentos”“”
agents_config = "config/agents.yaml"
tasks_config = "config/tasks.yaml"
##Chamando agentes TimeSuprimentos
@agent
def especialista_fornecedor(self) -> Agent:
return Agent(
config=self.agents_config['especialista_fornecedor'],
tools=[
EXASearchTool(api_key='30b2cb5f-bc5b-42f4-81d5-339921e42100'),
FirecrawlScrapeWebsiteTool(api_key='fc-343c4fc4962d49959821d91af963f14e'),
],
verbose=True,
allow_delegation=True,
memory=True,
cache=True
)
@agent
def especialista_informacoes(self) -> Agent:
return Agent(
config=self.agents_config['especialista_informacoes'],
tools=[
EXASearchTool(api_key='30b2cb5f-bc5b-42f4-81d5-339921e42100'),
FirecrawlScrapeWebsiteTool(api_key='fc-343c4fc4962d49959821d91af963f14e'),
],
verbose=True,
allow_delegation=True,
memory=True,
cache=True
)
##Chamando tarefas TimeSuprimentos
@task
def pesquisar_fornecedores(self) -> Task:
return Task(
config=self.tasks_config['pesquisar_fornecedores'],
output_file='fornecedores.json',
)
@task
def pesquisar_informacoes(self) -> Task:
return Task(
config=self.tasks_config['pesquisar_informacoes'],
output_file='fornecedores_validados.json',
)
@crew
def crew(self) -> Crew:
"""Creates the Research Crew"""
# To learn how to add knowledge sources to your crew, check out the documentation:
# https://docs.crewai.com/concepts/knowledge#what-is-knowledge
return Crew(
agents=self.agents, # Automatically created by the @agent decorator
tasks=self.tasks, # Automatically created by the @task decorator
process=Process.hierarchical,
manager_agent=Agent(
role="Gerente",
goal="Gerenciar a equipe de pesquisa",
backstory="O gerente é responsável por coordenar a equipe de pesquisa e garantir que os objetivos sejam alcançados.",
verbose=True,
allow_delegation=True,
),
verbose=True
)
train.py
from produto_fornecedor.crews.procurement_crew.procurement_crew import TimeSuprimentos
n_iterations = 1
inputs = {“materia_prima”: “Master Negro de Fumo”,“resumo_materia_prima”}
try:
TimeSuprimentos().crew().train(
n_iterations=n_iterations,
inputs=inputs,
filename=file_name
)
except Exception as e:
raise Exception(f"An error occurred while training the crew: {e}")
Anyone knows what might be the problem?