@@ -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