mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-29 18:18:13 +00:00
Improving agent logging
This commit is contained in:
@@ -3,7 +3,6 @@ import uuid
|
|||||||
from typing import Any, Dict, List, Optional, Union
|
from typing import Any, Dict, List, Optional, Union
|
||||||
|
|
||||||
from langchain_core.callbacks import BaseCallbackHandler
|
from langchain_core.callbacks import BaseCallbackHandler
|
||||||
|
|
||||||
from pydantic import (
|
from pydantic import (
|
||||||
UUID4,
|
UUID4,
|
||||||
BaseModel,
|
BaseModel,
|
||||||
@@ -68,7 +67,8 @@ class Crew(BaseModel):
|
|||||||
description="Language model that will run the agent.", default=None
|
description="Language model that will run the agent.", default=None
|
||||||
)
|
)
|
||||||
manager_callbacks: Optional[List[InstanceOf[BaseCallbackHandler]]] = Field(
|
manager_callbacks: Optional[List[InstanceOf[BaseCallbackHandler]]] = Field(
|
||||||
default=None, description="A list of callback handlers to be executed by the manager agent when hierarchical process is used"
|
default=None,
|
||||||
|
description="A list of callback handlers to be executed by the manager agent when hierarchical process is used",
|
||||||
)
|
)
|
||||||
function_calling_llm: Optional[Any] = Field(
|
function_calling_llm: Optional[Any] = Field(
|
||||||
description="Language model that will run the agent.", default=None
|
description="Language model that will run the agent.", default=None
|
||||||
@@ -232,8 +232,10 @@ class Crew(BaseModel):
|
|||||||
task.tools += AgentTools(agents=agents_for_delegation).tools()
|
task.tools += AgentTools(agents=agents_for_delegation).tools()
|
||||||
|
|
||||||
role = task.agent.role if task.agent is not None else "None"
|
role = task.agent.role if task.agent is not None else "None"
|
||||||
self._logger.log("debug", f"Working Agent: {role}")
|
self._logger.log("debug", f" == Working Agent: {role}", color="bold_yellow")
|
||||||
self._logger.log("info", f"Starting Task: {task.description}")
|
self._logger.log(
|
||||||
|
"info", f" == Starting Task: {task.description}", color="bold_yellow"
|
||||||
|
)
|
||||||
|
|
||||||
output = task.execute(context=task_output)
|
output = task.execute(context=task_output)
|
||||||
if not task.async_execution:
|
if not task.async_execution:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ class Logger:
|
|||||||
)
|
)
|
||||||
self.verbose_level = verbose_level
|
self.verbose_level = verbose_level
|
||||||
|
|
||||||
def log(self, level, message):
|
def log(self, level, message, color="bold_green"):
|
||||||
level_map = {"debug": 1, "info": 2}
|
level_map = {"debug": 1, "info": 2}
|
||||||
if self.verbose_level and level_map.get(level, 0) <= self.verbose_level:
|
if self.verbose_level and level_map.get(level, 0) <= self.verbose_level:
|
||||||
self._printer.print(f"[{level.upper()}]: {message}", color="bold_green")
|
self._printer.print(f"[{level.upper()}]: {message}", color=color)
|
||||||
|
|||||||
@@ -6,9 +6,14 @@ class Printer:
|
|||||||
self._print_red(content)
|
self._print_red(content)
|
||||||
elif color == "bold_green":
|
elif color == "bold_green":
|
||||||
self._print_bold_green(content)
|
self._print_bold_green(content)
|
||||||
|
elif color == "bold_yellow":
|
||||||
|
self._print_bold_yellow(content)
|
||||||
else:
|
else:
|
||||||
print(content)
|
print(content)
|
||||||
|
|
||||||
|
def _print_bold_yellow(self, content):
|
||||||
|
print("\033[1m\033[93m {}\033[00m".format(content))
|
||||||
|
|
||||||
def _print_bold_green(self, content):
|
def _print_bold_green(self, content):
|
||||||
print("\033[1m\033[92m {}\033[00m".format(content))
|
print("\033[1m\033[92m {}\033[00m".format(content))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user