@@ -464,11 +464,12 @@ def trace(
464464 event ,
465465 )
466466
467+ except Exception as e :
468+ self .log .exception (e )
469+ finally :
467470 return StatefulTraceClient (
468471 self .client , new_id , StateType .TRACE , new_id , self .task_manager
469472 )
470- except Exception as e :
471- self .log .exception (e )
472473
473474 def score (
474475 self ,
@@ -481,12 +482,13 @@ def score(
481482 observation_id : typing .Optional [str ] = None ,
482483 kwargs = None ,
483484 ):
485+ trace_id = self .trace_id if trace_id is None else trace_id
484486 try :
485487 new_id = str (uuid .uuid4 ()) if id is None else id
486488
487489 new_dict = {
488490 "id" : new_id ,
489- "trace_id" : self . trace_id if trace_id is None else trace_id ,
491+ "trace_id" : trace_id ,
490492 "observation_id" : observation_id ,
491493 "name" : name ,
492494 "value" : value ,
@@ -504,9 +506,12 @@ def score(
504506 "type" : "score-create" ,
505507 "body" : new_body .dict (exclude_none = True ),
506508 }
507-
508509 self .task_manager .add_task (event )
509510
511+ except Exception as e :
512+ print (f"exception { e } ..." )
513+ self .log .exception (e )
514+ finally :
510515 if observation_id is not None :
511516 return StatefulClient (
512517 self .client ,
@@ -520,9 +525,6 @@ def score(
520525 self .client , new_id , StateType .TRACE , new_id , self .task_manager
521526 )
522527
523- except Exception as e :
524- self .log .exception (e )
525-
526528 def span (
527529 self ,
528530 * ,
@@ -581,15 +583,16 @@ def span(
581583 self .log .debug (f"Creating span { event } ..." )
582584 self .task_manager .add_task (event )
583585
586+ except Exception as e :
587+ self .log .exception (e )
588+ finally :
584589 return StatefulSpanClient (
585590 self .client ,
586591 new_span_id ,
587592 StateType .OBSERVATION ,
588593 new_trace_id ,
589594 self .task_manager ,
590595 )
591- except Exception as e :
592- self .log .exception (e )
593596
594597 def event (
595598 self ,
@@ -647,15 +650,16 @@ def event(
647650 self .log .debug (f"Creating event { event } ..." )
648651 self .task_manager .add_task (event )
649652
653+ except Exception as e :
654+ self .log .exception (e )
655+ finally :
650656 return StatefulSpanClient (
651657 self .client ,
652658 event_id ,
653659 StateType .OBSERVATION ,
654660 new_trace_id ,
655661 self .task_manager ,
656662 )
657- except Exception as e :
658- self .log .exception (e )
659663
660664 def generation (
661665 self ,
@@ -740,15 +744,16 @@ def generation(
740744 self .log .debug (f"Creating top-level generation { event } ..." )
741745 self .task_manager .add_task (event )
742746
747+ except Exception as e :
748+ self .log .exception (e )
749+ finally :
743750 return StatefulGenerationClient (
744751 self .client ,
745752 new_generation_id ,
746753 StateType .OBSERVATION ,
747754 new_trace_id ,
748755 self .task_manager ,
749756 )
750- except Exception as e :
751- self .log .exception (e )
752757
753758 def _generate_trace (self , trace_id : str , name : str ):
754759 trace_dict = {
@@ -887,15 +892,16 @@ def generation(
887892 self .log .debug (f"Creating generation { new_body } ..." )
888893 self .task_manager .add_task (event )
889894
895+ except Exception as e :
896+ self .log .exception (e )
897+ finally :
890898 return StatefulGenerationClient (
891899 self .client ,
892900 generation_id ,
893901 StateType .OBSERVATION ,
894902 self .trace_id ,
895903 task_manager = self .task_manager ,
896904 )
897- except Exception as e :
898- self .log .exception (e )
899905
900906 def span (
901907 self ,
@@ -947,15 +953,16 @@ def span(
947953 }
948954
949955 self .task_manager .add_task (event )
956+ except Exception as e :
957+ self .log .exception (e )
958+ finally :
950959 return StatefulSpanClient (
951960 self .client ,
952961 span_id ,
953962 StateType .OBSERVATION ,
954963 self .trace_id ,
955964 task_manager = self .task_manager ,
956965 )
957- except Exception as e :
958- self .log .exception (e )
959966
960967 def score (
961968 self ,
@@ -996,15 +1003,17 @@ def score(
9961003 }
9971004
9981005 self .task_manager .add_task (event )
1006+
1007+ except Exception as e :
1008+ self .log .exception (e )
1009+ finally :
9991010 return StatefulClient (
10001011 self .client ,
10011012 self .id ,
10021013 StateType .OBSERVATION ,
10031014 self .trace_id ,
10041015 task_manager = self .task_manager ,
10051016 )
1006- except Exception as e :
1007- self .log .exception (e )
10081017
10091018 def event (
10101019 self ,
@@ -1054,11 +1063,12 @@ def event(
10541063 self .log .debug (f"Creating event { event } ..." )
10551064 self .task_manager .add_task (event )
10561065
1066+ except Exception as e :
1067+ self .log .exception (e )
1068+ finally :
10571069 return StatefulClient (
10581070 self .client , event_id , self .state_type , self .trace_id , self .task_manager
10591071 )
1060- except Exception as e :
1061- self .log .exception (e )
10621072
10631073 def get_trace_url (self ):
10641074 return f"{ self .client ._client_wrapper ._base_url } /trace/{ self .trace_id } "
@@ -1130,15 +1140,16 @@ def update(
11301140 self .log .debug (f"Update generation { event } ..." )
11311141 self .task_manager .add_task (event )
11321142
1143+ except Exception as e :
1144+ self .log .exception (e )
1145+ finally :
11331146 return StatefulGenerationClient (
11341147 self .client ,
11351148 self .id ,
11361149 StateType .OBSERVATION ,
11371150 self .trace_id ,
11381151 task_manager = self .task_manager ,
11391152 )
1140- except Exception as e :
1141- self .log .exception (e )
11421153
11431154 def end (
11441155 self ,
@@ -1185,6 +1196,13 @@ def end(
11851196
11861197 except Exception as e :
11871198 self .log .warning (e )
1199+ return StatefulGenerationClient (
1200+ self .client ,
1201+ self .id ,
1202+ StateType .OBSERVATION ,
1203+ self .trace_id ,
1204+ task_manager = self .task_manager ,
1205+ )
11881206
11891207
11901208class StatefulSpanClient (StatefulClient ):
@@ -1240,15 +1258,16 @@ def update(
12401258 }
12411259
12421260 self .task_manager .add_task (event )
1261+ except Exception as e :
1262+ self .log .exception (e )
1263+ finally :
12431264 return StatefulSpanClient (
12441265 self .client ,
12451266 self .id ,
12461267 StateType .OBSERVATION ,
12471268 self .trace_id ,
12481269 task_manager = self .task_manager ,
12491270 )
1250- except Exception as e :
1251- self .log .exception (e )
12521271
12531272 def end (
12541273 self ,
@@ -1283,6 +1302,14 @@ def end(
12831302
12841303 except Exception as e :
12851304 self .log .warning (e )
1305+ finally :
1306+ return StatefulSpanClient (
1307+ self .client ,
1308+ self .id ,
1309+ StateType .OBSERVATION ,
1310+ self .trace_id ,
1311+ task_manager = self .task_manager ,
1312+ )
12861313
12871314 def get_langchain_handler (self ):
12881315 from langfuse .callback import CallbackHandler
@@ -1345,15 +1372,17 @@ def update(
13451372 }
13461373
13471374 self .task_manager .add_task (event )
1375+
1376+ except Exception as e :
1377+ self .log .exception (e )
1378+ finally :
13481379 return StatefulTraceClient (
13491380 self .client ,
13501381 self .id ,
13511382 StateType .TRACE ,
13521383 self .trace_id ,
13531384 task_manager = self .task_manager ,
13541385 )
1355- except Exception as e :
1356- self .log .exception (e )
13571386
13581387 def get_langchain_handler (self ):
13591388 try :
0 commit comments