new pipeline flow with traces and usage metrics working. need to add more tests and make sure PipelineOutput behaves likew CrewOutput

This commit is contained in:
Brandon Hancock
2024-07-19 14:39:31 -04:00
parent d094e178f1
commit 392490c48b
4 changed files with 152 additions and 42 deletions

View File

@@ -5,6 +5,7 @@ from crewai.agent import Agent
from crewai.crew import Crew
from crewai.crews.crew_output import CrewOutput
from crewai.pipeline.pipeline import Pipeline
from crewai.pipeline.pipeline_run_result import PipelineRunResult
from crewai.process import Process
from crewai.task import Task
from crewai.tasks.task_output import TaskOutput
@@ -83,16 +84,20 @@ async def test_pipeline_process_streams_single_input(mock_crew_factory):
pipeline_result = await pipeline.process_runs(input_data)
mock_crew.kickoff_async.assert_called_once_with(inputs={"key": "value"})
for stream_result in pipeline_result:
assert isinstance(stream_result[0], CrewOutput)
assert stream_result[0].raw == "Test output"
assert len(stream_result[0].tasks_output) == 1
assert stream_result[0].tasks_output[0].raw == "Task output"
assert stream_result[0].token_usage == {
"total_tokens": 100,
"prompt_tokens": 50,
"completion_tokens": 50,
}
for pipeline_line_result in pipeline_result:
assert isinstance(pipeline_line_result, PipelineRunResult)
# for stream_result in pipeline_result:
# assert isinstance(stream_result[0], CrewOutput)
# assert stream_result[0].raw == "Test output"
# assert len(stream_result[0].tasks_output) == 1
# assert stream_result[0].tasks_output[0].raw == "Task output"
# assert stream_result[0].token_usage == {
# "total_tokens": 100,
# "prompt_tokens": 50,
# "completion_tokens": 50,
# }
@pytest.mark.asyncio