Skip to content

Commit 6730268

Browse files
committed
push
1 parent cf45428 commit 6730268

2 files changed

Lines changed: 34 additions & 27 deletions

File tree

langfuse/_client/client.py

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,13 @@
8484
CreateTextPromptRequest,
8585
Dataset,
8686
DatasetItem,
87+
DatasetRunWithItems,
8788
DatasetStatus,
89+
DeleteDatasetRunResponse,
8890
Error,
8991
MapValue,
9092
NotFoundError,
93+
PaginatedDatasetRuns,
9194
Prompt_Chat,
9295
Prompt_Text,
9396
ScoreBody,
@@ -2215,10 +2218,13 @@ def get_dataset_run(
22152218
DatasetRunWithItems: The dataset run with its items.
22162219
"""
22172220
try:
2218-
return self.api.datasets.get_run(
2219-
dataset_name=self._url_encode(dataset_name),
2220-
run_name=self._url_encode(run_name),
2221-
request_options=None,
2221+
return cast(
2222+
DatasetRunWithItems,
2223+
self.api.datasets.get_run(
2224+
dataset_name=self._url_encode(dataset_name),
2225+
run_name=self._url_encode(run_name),
2226+
request_options=None,
2227+
),
22222228
)
22232229
except Error as e:
22242230
handle_fern_exception(e)
@@ -2242,11 +2248,14 @@ def get_dataset_runs(
22422248
PaginatedDatasetRuns: Paginated list of dataset runs.
22432249
"""
22442250
try:
2245-
return self.api.datasets.get_runs(
2246-
dataset_name=self._url_encode(dataset_name),
2247-
page=page,
2248-
limit=limit,
2249-
request_options=None,
2251+
return cast(
2252+
PaginatedDatasetRuns,
2253+
self.api.datasets.get_runs(
2254+
dataset_name=self._url_encode(dataset_name),
2255+
page=page,
2256+
limit=limit,
2257+
request_options=None,
2258+
),
22502259
)
22512260
except Error as e:
22522261
handle_fern_exception(e)
@@ -2265,10 +2274,13 @@ def delete_dataset_run(
22652274
DeleteDatasetRunResponse: Confirmation of deletion.
22662275
"""
22672276
try:
2268-
return self.api.datasets.delete_run(
2269-
dataset_name=self._url_encode(dataset_name),
2270-
run_name=self._url_encode(run_name),
2271-
request_options=None,
2277+
return cast(
2278+
DeleteDatasetRunResponse,
2279+
self.api.datasets.delete_run(
2280+
dataset_name=self._url_encode(dataset_name),
2281+
run_name=self._url_encode(run_name),
2282+
request_options=None,
2283+
),
22722284
)
22732285
except Error as e:
22742286
handle_fern_exception(e)

langfuse/langchain/CallbackHandler.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
from langfuse.langchain.utils import _extract_model_name
3535
from langfuse.logger import langfuse_logger
3636
from langfuse.types import TraceContext
37-
from langfuse.types import TraceContext
3837

3938
try:
4039
import langchain
@@ -843,19 +842,15 @@ def __on_llm_action(
843842
model_name = self._parse_model_and_log_errors(
844843
serialized=serialized, metadata=metadata, kwargs=kwargs
845844
)
846-
registered_prompt = (
847-
self._prompt_to_parent_run_map.get(parent_run_id)
848-
if parent_run_id is not None
849-
else None
850-
)
851845

852-
if registered_prompt:
853-
self._deregister_langfuse_prompt(current_parent_run_id)
854-
break
855-
else:
856-
current_parent_run_id = self._child_to_parent_run_id_map.get(
857-
current_parent_run_id, None
858-
)
846+
registered_prompt = None
847+
current_parent_run_id = parent_run_id
848+
849+
# Check all parents for registered prompt
850+
while current_parent_run_id is not None:
851+
registered_prompt = self._prompt_to_parent_run_map.get(
852+
current_parent_run_id
853+
)
859854

860855
content = {
861856
"name": self.get_langchain_run_name(serialized, **kwargs),
@@ -1012,7 +1007,7 @@ def on_llm_error(
10121007
langfuse_logger.exception(e)
10131008

10141009
def _reset(self) -> None:
1015-
self._child_to_parent_run_id_map = {}
1010+
self._child_to_parent_run_id_map: Dict[UUID, Optional[UUID]] = {}
10161011

10171012
def __join_tags_and_metadata(
10181013
self,

0 commit comments

Comments
 (0)