Compare commits

...

2 Commits

Author SHA1 Message Date
William Fu-Hinthorn
08d16c461a Run in background 2023-09-28 15:32:29 -07:00
William Fu-Hinthorn
92ad5a13d4 Background evaluator 2023-09-28 13:26:18 -07:00

View File

@@ -66,6 +66,19 @@ class EvaluatorCallbackHandler(BaseTracer):
name = "evaluator_callback_handler"
_slots__ = [
"__weakref__",
"example_id",
"client",
"evaluators",
"executor",
"futures",
"skip_unfinished",
"project_name",
"logged_eval_results",
"run_map",
]
def __init__(
self,
evaluators: Sequence[langsmith.RunEvaluator],
@@ -118,6 +131,10 @@ class EvaluatorCallbackHandler(BaseTracer):
example_id = str(run.reference_example_id)
self.logged_eval_results.setdefault(example_id, []).append(eval_result)
def wait_for_futures(self) -> None:
"""Wait for all the futures to finish."""
wait(self.futures)
def _persist_run(self, run: Run) -> None:
"""Run the evaluator on the run.
@@ -136,7 +153,3 @@ class EvaluatorCallbackHandler(BaseTracer):
self.futures.add(
self.executor.submit(self._evaluate_in_project, run_, evaluator)
)
def wait_for_futures(self) -> None:
"""Wait for all futures to complete."""
wait(self.futures)