Skip to content

Commit 3a5d4df

Browse files
committed
push
1 parent e431bc3 commit 3a5d4df

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,
@@ -2204,10 +2207,13 @@ def get_dataset_run(
22042207
DatasetRunWithItems: The dataset run with its items.
22052208
"""
22062209
try:
2207-
return self.api.datasets.get_run(
2208-
dataset_name=self._url_encode(dataset_name),
2209-
run_name=self._url_encode(run_name),
2210-
request_options=None,
2210+
return cast(
2211+
DatasetRunWithItems,
2212+
self.api.datasets.get_run(
2213+
dataset_name=self._url_encode(dataset_name),
2214+
run_name=self._url_encode(run_name),
2215+
request_options=None,
2216+
),
22112217
)
22122218
except Error as e:
22132219
handle_fern_exception(e)
@@ -2231,11 +2237,14 @@ def get_dataset_runs(
22312237
PaginatedDatasetRuns: Paginated list of dataset runs.
22322238
"""
22332239
try:
2234-
return self.api.datasets.get_runs(
2235-
dataset_name=self._url_encode(dataset_name),
2236-
page=page,
2237-
limit=limit,
2238-
request_options=None,
2240+
return cast(
2241+
PaginatedDatasetRuns,
2242+
self.api.datasets.get_runs(
2243+
dataset_name=self._url_encode(dataset_name),
2244+
page=page,
2245+
limit=limit,
2246+
request_options=None,
2247+
),
22392248
)
22402249
except Error as e:
22412250
handle_fern_exception(e)
@@ -2254,10 +2263,13 @@ def delete_dataset_run(
22542263
DeleteDatasetRunResponse: Confirmation of deletion.
22552264
"""
22562265
try:
2257-
return self.api.datasets.delete_run(
2258-
dataset_name=self._url_encode(dataset_name),
2259-
run_name=self._url_encode(run_name),
2260-
request_options=None,
2266+
return cast(
2267+
DeleteDatasetRunResponse,
2268+
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,
2272+
),
22612273
)
22622274
except Error as e:
22632275
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)