Skip to content

Commit

Permalink
updating CLI template and guaranteeing tasks order
Browse files Browse the repository at this point in the history
  • Loading branch information
joaomdmoura committed Mar 11, 2024
1 parent 35f8919 commit eaac627
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 12 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "crewai"
version = "0.22.0"
version = "0.22.2"
description = "Cutting-edge framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks."
authors = ["Joao Moura <joao@crewai.com>"]
readme = "README.md"
Expand Down
5 changes: 3 additions & 2 deletions src/crewai/cli/templates/crew.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from crewai import Agent, Crew, Process, Task
from crewai.project import CrewBase, agent, crew, task

from .tools.custom_tool import MyCustomTool
# Uncomment the following line to use an example of a custom tool
# from .tools.custom_tool import MyCustomTool

# Check our tools documentations for more information on how to use them
# from crewai_tools import SerperDevTool
Expand All @@ -16,7 +17,7 @@ class {{crew_name}}Crew():
def researcher(self) -> Agent:
return Agent(
config=self.agents_config['researcher'],
# tools=[MyCustomTool()], # Example of custom tool
# tools=[MyCustomTool()], # Example of custom tool, loaded on the beginning of file
verbose=True
)

Expand Down
4 changes: 3 additions & 1 deletion src/crewai/cli/templates/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,7 @@

def run():
# Replace with your inputs, it will automatically interpolate any tasks and agents information
inputs = {'topic': 'AI LLMs'}
inputs = {
'topic': 'AI LLMs'
}
{{crew_name}}Crew().crew().kickoff(inputs=inputs)
3 changes: 0 additions & 3 deletions src/crewai/cli/templates/tools/custom_tool.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# For this make sure to install the tools package
# pip install 'crewai[tools]'

from crewai_tools import BaseTool


Expand Down
13 changes: 8 additions & 5 deletions src/crewai/project/annotations.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
tasks_order = []


def task(func):
func.is_task = True
tasks_order.append(func.__name__)
return func


Expand All @@ -13,11 +17,11 @@ def wrapper(self, *args, **kwargs):
instantiated_tasks = []
instantiated_agents = []

# Instantiate tasks and collect their associated agents
agent_roles = set()
for attr_name in dir(self):
possible_task = getattr(self, attr_name)
if callable(possible_task) and hasattr(possible_task, "is_task"):
# Iterate over tasks_order to maintain the defined order
for task_name in tasks_order:
possible_task = getattr(self, task_name)
if callable(possible_task):
task_instance = possible_task()
instantiated_tasks.append(task_instance)
if hasattr(task_instance, "agent"):
Expand All @@ -38,7 +42,6 @@ def wrapper(self, *args, **kwargs):
self.agents = instantiated_agents
self.tasks = instantiated_tasks

# Now call the original crew method
return func(self, *args, **kwargs)

return wrapper

0 comments on commit eaac627

Please sign in to comment.