Compare commits

...

3 Commits

Author SHA1 Message Date
Eduardo Chiarotti
d84766c356 fix: message 2024-10-11 22:02:17 -03:00
Eduardo Chiarotti
6187e458fe fix: output from crew 2024-10-11 21:33:07 -03:00
Eduardo Chiarotti
2ec68501ae fix: training issue 2024-10-11 19:35:35 -03:00
2 changed files with 33 additions and 3 deletions

View File

@@ -334,6 +334,32 @@ class CrewAgentExecutor(CrewAgentExecutorMixin):
color="red",
)
if self.ask_for_human_input and human_feedback is not None:
training_data = {
"initial_output": result.output,
"human_feedback": human_feedback,
"agent": agent_id,
"agent_role": self.agent.role,
}
if self.crew is not None and hasattr(self.crew, "_train_iteration"):
train_iteration = self.crew._train_iteration
if isinstance(train_iteration, int):
CrewTrainingHandler(TRAINING_DATA_FILE).append(
train_iteration, agent_id, training_data
)
else:
self._logger.log(
"error",
"Invalid train iteration type. Expected int.",
color="red",
)
else:
self._logger.log(
"error",
"Crew is None or does not have _train_iteration attribute.",
color="red",
)
def _format_prompt(self, prompt: str, inputs: Dict[str, str]) -> str:
prompt = prompt.replace("{input}", inputs["input"])
prompt = prompt.replace("{tool_names}", inputs["tool_names"])

View File

@@ -1,6 +1,7 @@
import subprocess
import click
import tomllib
def run_crew() -> None:
@@ -9,13 +10,16 @@ def run_crew() -> None:
"""
command = ["uv", "run", "run_crew"]
try:
subprocess.run(command, capture_output=True, text=True, check=True)
subprocess.run(command, capture_output=False, text=True, check=True)
except subprocess.CalledProcessError as e:
click.echo(f"An error occurred while running the crew: {e}", err=True)
click.echo(e.output, err=True, nl=True)
click.echo(e.stderr, err=True, nl=True)
if "table found" in e.stderr:
with open("pyproject.toml", "rb") as f:
data = tomllib.load(f)
if data.get("tool", {}).get("poetry"):
click.secho(
"It's possible that you are using an old version of crewAI that uses poetry, please run `crewai update` to update your pyproject.toml to use uv.",
fg="yellow",