updating CLI template and guaranteeing tasks order

This commit is contained in:
João Moura
2024-03-11 19:53:34 -03:00
parent 35f8919e73
commit eaac627600
5 changed files with 15 additions and 12 deletions

View File

@@ -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"

View File

@@ -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
@@ -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
)

View File

@@ -4,5 +4,7 @@ from .crew import {{crew_name}}Crew
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)

View File

@@ -1,6 +1,3 @@
# For this make sure to install the tools package
# pip install 'crewai[tools]'
from crewai_tools import BaseTool

View File

@@ -1,5 +1,9 @@
tasks_order = []
def task(func):
func.is_task = True
tasks_order.append(func.__name__)
return func
@@ -13,11 +17,11 @@ def crew(func):
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"):
@@ -38,7 +42,6 @@ def crew(func):
self.agents = instantiated_agents
self.tasks = instantiated_tasks
# Now call the original crew method
return func(self, *args, **kwargs)
return wrapper