Fix logging

This commit is contained in:
Brandon Hancock
2024-07-17 10:10:34 -04:00
parent a1b37f073d
commit 80d6596247
2 changed files with 7 additions and 10 deletions

View File

@@ -37,12 +37,11 @@ from crewai.utilities.constants import (
TRAINING_DATA_FILE,
)
from crewai.utilities.evaluators.task_evaluator import TaskEvaluator
from crewai.utilities.task_output_storage_handler import TaskOutputStorageHandler
from crewai.utilities.formatter import (
aggregate_raw_outputs_from_task_outputs,
aggregate_raw_outputs_from_tasks,
)
from crewai.utilities.task_output_storage_handler import TaskOutputStorageHandler
from crewai.utilities.training_handler import CrewTrainingHandler
try:
@@ -621,12 +620,12 @@ class Crew(BaseModel):
raise ValueError(
f"No agent available for task: {task.description}. Ensure that either the task has an assigned agent or a manager agent is provided."
)
self._log_task_start(task, agent_to_use)
if task.async_execution:
context = self._get_context(
task, [last_sync_output] if last_sync_output else []
)
self._log_task_start(task, agent_to_use.role)
future = task.execute_async(
agent=agent_to_use,
context=context,
@@ -635,12 +634,14 @@ class Crew(BaseModel):
futures.append((task, future, task_index))
else:
if futures:
task_outputs = []
task_outputs.extend(
self._process_async_tasks(futures, was_replayed)
)
futures.clear()
context = self._get_context(task, task_outputs)
self._log_task_start(task, agent_to_use.role)
task_output = task.execute_sync(
agent=agent_to_use,
context=context,
@@ -687,9 +688,8 @@ class Crew(BaseModel):
# Add the new tool
task.tools.append(new_tool)
def _log_task_start(self, task: Task, agent: Optional[BaseAgent]):
def _log_task_start(self, task: Task, role: str = "None"):
color = self._logging_color
role = agent.role if agent else "None"
self._logger.log("debug", f"== Working Agent: {role}", color=color)
self._logger.log("info", f"== Starting Task: {task.description}", color=color)
if self.output_log_file:
@@ -738,7 +738,7 @@ class Crew(BaseModel):
futures: List[Tuple[Task, Future[TaskOutput], int]],
was_replayed: bool = False,
) -> List[TaskOutput]:
task_outputs = []
task_outputs: List[TaskOutput] = []
for future_task, future, task_index in futures:
task_output = future.result()
task_outputs.append(task_output)

View File

@@ -8,7 +8,6 @@ from copy import copy
from hashlib import md5
from typing import Any, Dict, List, Optional, Tuple, Type, Union
from langchain_openai import ChatOpenAI
from opentelemetry.trace import Span
from pydantic import UUID4, BaseModel, Field, field_validator, model_validator
@@ -255,9 +254,7 @@ class Task(BaseModel):
content = (
json_output
if json_output
else pydantic_output.model_dump_json()
if pydantic_output
else result
else pydantic_output.model_dump_json() if pydantic_output else result
)
self._save_file(content)