diff --git a/crewai/crew.py b/crewai/crew.py index 883a98ef3..bdd705146 100644 --- a/crewai/crew.py +++ b/crewai/crew.py @@ -12,7 +12,6 @@ class Crew(BaseModel): Class that represents a group of agents, how they should work together and their tasks. """ - config: Optional[Json] = Field(description="Configuration of the crew.") tasks: Optional[List[Task]] = Field(description="List of tasks") agents: Optional[List[Agent]] = Field(description="List of agents in this crew.") process: Process = Field( @@ -23,6 +22,10 @@ class Crew(BaseModel): description="Verbose mode for the Agent Execution", default=False ) + config: Optional[Json] = Field( + description="Configuration of the crew.", + default=None + ) @root_validator(pre=True) def check_config(_cls, values): diff --git a/crewai/tools/agent_tools.py b/crewai/tools/agent_tools.py index 53ea92b3b..807e4de7e 100644 --- a/crewai/tools/agent_tools.py +++ b/crewai/tools/agent_tools.py @@ -43,9 +43,13 @@ class AgentTools(BaseModel): def __execute(self, command): """Execute the command.""" - agent, task, information = command.split("|") + try: + agent, task, information = command.split("|") + except ValueError: + return "Error executing tool. Missing exact 3 pipe (|) separated values." + if not agent or not task or not information: - return "Error executing tool. Missing 3 pipe (|) separated values." + return "Error executing tool. Missing exact 3 pipe (|) separated values." agent = [available_agent for available_agent in self.agents if available_agent.role == agent] diff --git a/pyproject.toml b/pyproject.toml index 5fa41f717..877b1554a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] name = "crewai" -version = "0.1.3" +version = "0.1.5" 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 "] readme = "README.md" diff --git a/tests/agent_tools/agent_tools_test.py b/tests/agent_tools/agent_tools_test.py index 43278bfc5..d585e6b36 100644 --- a/tests/agent_tools/agent_tools_test.py +++ b/tests/agent_tools/agent_tools_test.py @@ -29,6 +29,13 @@ def test_ask_question(): assert result == "As a researcher, my feelings towards AI Agents are neutral. I neither love nor hate them. I study and analyze them objectively to understand their potential, capabilities, and limitations. While I appreciate the technological advancement they represent, my job is to approach them from an analytical and scientific perspective." +def test_delegate_work_with_wrong_input(): + result = tools.ask_question( + command="writer|share your take on AI Agents" + ) + + assert result == "Error executing tool. Missing exact 3 pipe (|) separated values." + def test_delegate_work_to_wrong_agent(): result = tools.ask_question( command="writer|share your take on AI Agents|I heard you hate them"