Hi! I’m getting this error when I try to create the Crew as it is in the notebook.
ValidationError: 1 validation error for Crew
The crew must end with at most one asynchronous task. [type=async_task_count, input_value={'agents': [Agent(role=Ve...own.)], 'verbose': True}, input_type=dict]
I’m using the crewAI version 0.51.1. I know it is a different version compared to the one in the sandbox lab. But I’d like to understand what I need to change to make it work.
My agents:
venue_coordinator = Agent(
role="Venue Coordinator",
goal="Identify and book an appropriate venue "
"based on event requirements",
tools=[search_tool, scrape_tool],
verbose=True,
backstory=(
"With a keen sense of space and "
"understanding of event logistics, "
"you excel at finding and securing "
"the perfect venue that fits the event's theme, "
"size, and budget constraints."
)
)
# Agent 2: Logistics Manager
logistics_manager = Agent(
role='Logistics Manager',
goal=(
"Manage all logistics for the event "
"including catering and equipmen"
),
tools=[search_tool, scrape_tool],
verbose=True,
backstory=(
"Organized and detail-oriented, "
"you ensure that every logistical aspect of the event "
"from catering to equipment setup "
"is flawlessly executed to create a seamless experience."
)
)
# Agent 3: Marketing and Communications Agent
marketing_communications_agent = Agent(
role="Marketing and Communications Agent",
goal="Effectively market the event and "
"communicate with participants",
tools=[search_tool, scrape_tool],
verbose=True,
backstory=(
"Creative and communicative, "
"you craft compelling messages and "
"engage with potential attendees "
"to maximize event exposure and participation."
)
)
Taks
venue_task = Task(
description="Find a venue in {event_city} "
"that meets criteria for {event_topic}.",
expected_output="All the details of a specifically chosen"
"venue you found to accommodate the event.",
human_input=True,
output_json=VenueDetails,
output_file="venue_details.json",
# Outputs the venue details as a JSON file
agent=venue_coordinator
)
logistics_task = Task(
description="Coordinate catering and "
"equipment for an event "
"with {expected_participants} participants "
"on {tentative_date}.",
expected_output="Confirmation of all logistics arrangements "
"including catering and equipment setup.",
human_input=True,
async_execution=True,
agent=logistics_manager
)
marketing_task = Task(
description="Promote the {event_topic} "
"aiming to engage at least"
"{expected_participants} potential attendees.",
expected_output="Report on marketing activities "
"and attendee engagement formatted as markdown.",
async_execution=True,
output_file="marketing_report.md", # Outputs the report as a text file
agent=marketing_communications_agent
)
Crew
# Define the crew with agents and tasks
event_management_crew = Crew(
agents=[venue_coordinator,
logistics_manager,
marketing_communications_agent],
tasks=[venue_task,
logistics_task,
marketing_task],
verbose=True
)