Skip to content

Commit 3c977cf

Browse files
Don't query if no local evaluators; cleanup error printing
1 parent 3963f52 commit 3c977cf

File tree

1 file changed

+20
-29
lines changed
  • src/humanloop/eval_utils

1 file changed

+20
-29
lines changed

src/humanloop/eval_utils/run.py

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,7 @@ def _overload_log(
204204
response = self._log(**kwargs)
205205
except Exception as e:
206206
error_message = str(e).replace("\n", " ")
207-
if len(error_message) > 100:
208-
sys.stderr.write(f"{RED}Failed to log: {error_message[:100]}...{RESET}\n")
209-
else:
210-
sys.stderr.write(f"{RED}Failed to log: {error_message}{RESET}\n")
207+
sys.stderr.write(f"{RED}Failed to log: {error_message[:100]}...{RESET}\n")
211208
raise e
212209

213210
# Notify the run_eval utility about one Log being created
@@ -272,6 +269,9 @@ def run_eval(
272269
)
273270

274271
def handle_exit_signal(signum, frame):
272+
sys.stderr.write(
273+
f"\n{RED}Received signal {signum}, cancelling Evaluation and shutting down threads...{RESET}\n"
274+
)
275275
client.evaluations.update_evaluation_run(
276276
id=evaluation.id,
277277
run_id=run.id,
@@ -362,14 +362,9 @@ def upload_callback(log_id: str):
362362
end_time=datetime.now(),
363363
)
364364
error_message = str(e).replace("\n", " ")
365-
if len(error_message) > 100:
366-
sys.stderr.write(
367-
f"\n{RED}Your {hl_file.type}'s `callable` failed for Datapoint: {dp.id}. Error: {error_message[:100]}...{RESET}\n"
368-
)
369-
else:
370-
sys.stderr.write(
371-
f"\n{RED}Your {hl_file.type}'s `callable` failed for Datapoint: {dp.id}. Error: {error_message}{RESET}\n"
372-
)
365+
sys.stderr.write(
366+
f"\n{RED}Your {hl_file.type}'s `callable` failed for Datapoint: {dp.id}. Error: {error_message[:100]}...{RESET}\n"
367+
)
373368

374369
with ThreadPoolExecutor(max_workers=workers) as executor:
375370
futures = []
@@ -914,13 +909,19 @@ def _run_local_evaluators(
914909
progress_bar: _SimpleProgressBar,
915910
):
916911
"""Run local Evaluators on the Log and send the judgments to Humanloop."""
917-
# Need to get the full log to pass to the evaluators
912+
# If there are no local evaluators, we don't need to do the log lookup.
913+
if len(local_evaluators) == 0:
914+
progress_bar.increment()
915+
return
916+
918917
try:
918+
# Need to get the full log to pass to the evaluators
919919
log = client.logs.get(id=log_id)
920920
if not isinstance(log, dict):
921921
log_dict = log.dict()
922922
else:
923923
log_dict = log
924+
924925
# Wait for the Flow trace to complete before running evaluators
925926
while file_type == "flow" and log_dict["trace_status"] != "complete":
926927
log = client.logs.get(id=log_id)
@@ -960,24 +961,14 @@ def _run_local_evaluators(
960961
end_time=datetime.now(),
961962
)
962963
error_message = str(e).replace("\n", " ")
963-
if len(error_message) > 100:
964-
sys.stderr.write(
965-
f"{RED}Evaluator {local_evaluator.path} failed with error {error_message[:100]}...{RESET}\n"
966-
)
967-
else:
968-
sys.stderr.write(
969-
f"{RED}Evaluator {local_evaluator.path} failed with error {error_message}{RESET}\n"
970-
)
964+
sys.stderr.write(
965+
f"{RED}Evaluator {local_evaluator.path} failed with error {error_message[:100]}...{RESET}\n"
966+
)
971967
except Exception as e:
972968
error_message = str(e).replace("\n", " ")
973-
if len(error_message) > 100:
974-
sys.stderr.write(
975-
f"{RED}Failed to run local Evaluators for source datapoint {datapoint.dict()['id'] if datapoint else None}: {error_message[:100]}...{RESET}\n"
976-
)
977-
else:
978-
sys.stderr.write(
979-
f"{RED}Failed to run local Evaluators for source datapoint {datapoint.dict()['id'] if datapoint else None}: {error_message}{RESET}\n"
980-
)
969+
sys.stderr.write(
970+
f"{RED}Failed to run local Evaluators for source datapoint {datapoint.dict()['id'] if datapoint else None}: {error_message[:100]}...{RESET}\n"
971+
)
981972
pass
982973
finally:
983974
progress_bar.increment()

0 commit comments

Comments
 (0)