Skip to content

Commit 0d00545

Browse files
committed
push
1 parent 7300ef6 commit 0d00545

2 files changed

Lines changed: 15 additions & 16 deletions

File tree

langfuse/langchain/CallbackHandler.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -996,6 +996,9 @@ def on_llm_end(
996996
finally:
997997
self._updated_completion_start_time_memo.discard(run_id)
998998

999+
if parent_run_id is None:
1000+
self._reset()
1001+
9991002
def on_llm_error(
10001003
self,
10011004
error: BaseException,

tests/test_core_sdk.py

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -672,11 +672,10 @@ def test_score_trace():
672672
trace = api_wrapper.get_trace(trace_id)
673673

674674
assert trace["name"] == trace_name
675-
assert len(trace["scores"]) == 1
676675

677-
score = trace["scores"][0]
678-
679-
assert score["name"] == "valuation"
676+
# Find the score we created by name (server may create additional auto-scores)
677+
score = next((s for s in trace["scores"] if s["name"] == "valuation"), None)
678+
assert score is not None
680679
assert score["value"] == 0.5
681680
assert score["comment"] == "This is a comment"
682681
assert score["observationId"] is None
@@ -709,11 +708,10 @@ def test_score_trace_nested_trace():
709708
trace = get_api().trace.get(trace_id)
710709

711710
assert trace.name == trace_name
712-
assert len(trace.scores) == 1
713711

714-
score = trace.scores[0]
715-
716-
assert score.name == "valuation"
712+
# Find the score we created by name (server may create additional auto-scores)
713+
score = next((s for s in trace.scores if s.name == "valuation"), None)
714+
assert score is not None
717715
assert score.value == 0.5
718716
assert score.comment == "This is a comment"
719717
assert score.observation_id is None # API returns this field name
@@ -753,11 +751,10 @@ def test_score_trace_nested_observation():
753751
trace = get_api().trace.get(trace_id)
754752

755753
assert trace.name == trace_name
756-
assert len(trace.scores) == 1
757754

758-
score = trace.scores[0]
759-
760-
assert score.name == "valuation"
755+
# Find the score we created by name (server may create additional auto-scores)
756+
score = next((s for s in trace.scores if s.name == "valuation"), None)
757+
assert score is not None
761758
assert score.value == 0.5
762759
assert score.comment == "This is a comment"
763760
assert score.observation_id == child_span_id # API returns this field name
@@ -799,12 +796,11 @@ def test_score_span():
799796
# Retrieve and verify
800797
trace = api_wrapper.get_trace(trace_id)
801798

802-
assert len(trace["scores"]) == 1
803799
assert len(trace["observations"]) == 1
804800

805-
score = trace["scores"][0]
806-
807-
assert score["name"] == "valuation"
801+
# Find the score we created by name (server may create additional auto-scores)
802+
score = next((s for s in trace["scores"] if s["name"] == "valuation"), None)
803+
assert score is not None
808804
assert score["value"] == 1
809805
assert score["comment"] == "This is a comment"
810806
assert score["observationId"] == span_id

0 commit comments

Comments
 (0)