Skip to content

Commit 7d00604

Browse files
committed
refactor(async): remove unused global evaluation task cache
We now track and gather tasks per loop. The global cache is no longer read and is not needed. The cache posed cross loop task management risks, which is why we have moved away from it. - Delete `global_evaluation_tasks` singleton and related imports. - Stop appending to the global cache in `EvaluationDataset.evaluate()`; still coerce the task to ensure validation/side effects run. - Remove finalizers that cleared the global cache in `execute.py` looped paths.
1 parent c99a18e commit 7d00604

3 files changed

Lines changed: 1 addition & 14 deletions

File tree

deepeval/dataset/dataset.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
from deepeval.test_run import (
5050
global_test_run_manager,
5151
)
52-
from deepeval.dataset.types import global_evaluation_tasks
5352
from deepeval.openai.utils import openai_test_case_pairs
5453
from deepeval.tracing import trace_manager
5554
from deepeval.tracing.tracing import EVAL_DUMMY_SPAN_NAME
@@ -1238,7 +1237,7 @@ def evals_iterator(
12381237
)
12391238

12401239
def evaluate(self, task: Task):
1241-
global_evaluation_tasks.append(coerce_to_task(task))
1240+
coerce_to_task(task)
12421241

12431242
def _start_otel_test_run(self, tracer: Optional[Tracer] = None) -> Context:
12441243
_tracer = check_tracer(tracer)

deepeval/dataset/types.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,3 @@ def clear_tasks(self) -> None:
2323
if not t.done():
2424
t.cancel()
2525
self._tasks.clear()
26-
27-
28-
global_evaluation_tasks = EvaluationTasks()

deepeval/evaluate/execute.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
BaseApiSpan,
4343
)
4444
from deepeval.dataset import Golden
45-
from deepeval.dataset.types import global_evaluation_tasks
4645
from deepeval.errors import MissingTestCaseParamsError
4746
from deepeval.metrics.utils import copy_metrics
4847
from deepeval.utils import (
@@ -1719,10 +1718,6 @@ def dfs(
17191718
local_trace_manager.evaluating = False
17201719
local_trace_manager.traces_to_evaluate_order.clear()
17211720
local_trace_manager.traces_to_evaluate.clear()
1722-
try:
1723-
global_evaluation_tasks.clear_tasks()
1724-
except Exception:
1725-
pass
17261721

17271722

17281723
def a_execute_agentic_test_cases_from_loop(
@@ -2069,10 +2064,6 @@ def on_task_done(t: asyncio.Task):
20692064
local_trace_manager.evaluating = False
20702065
local_trace_manager.traces_to_evaluate_order.clear()
20712066
local_trace_manager.traces_to_evaluate.clear()
2072-
try:
2073-
global_evaluation_tasks.clear_tasks()
2074-
except Exception:
2075-
pass
20762067

20772068

20782069
async def _a_evaluate_traces(

0 commit comments

Comments
 (0)