|
27 | 27 | DatasetRunWithItems,
|
28 | 28 | )
|
29 | 29 | from langfuse.api.resources.commons.types.observations_view import ObservationsView
|
| 30 | +from langfuse.api.resources.commons.types.session import Session |
30 | 31 | from langfuse.api.resources.commons.types.trace_with_details import TraceWithDetails
|
31 | 32 | from langfuse.api.resources.datasets.types.paginated_dataset_runs import (
|
32 | 33 | PaginatedDatasetRuns,
|
@@ -117,6 +118,14 @@ class FetchObservationResponse:
|
117 | 118 | data: Observation
|
118 | 119 |
|
119 | 120 |
|
| 121 | +@dataclass |
| 122 | +class FetchSessionsResponse: |
| 123 | + """Response object for fetch_sessions method.""" |
| 124 | + |
| 125 | + data: typing.List[Session] |
| 126 | + meta: MetaResponse |
| 127 | + |
| 128 | + |
120 | 129 | class Langfuse(object):
|
121 | 130 | """Langfuse Python client.
|
122 | 131 |
|
@@ -584,8 +593,8 @@ def fetch_traces(
|
584 | 593 | name (Optional[str]): Filter by name of traces. Defaults to None.
|
585 | 594 | user_id (Optional[str]): Filter by user_id. Defaults to None.
|
586 | 595 | session_id (Optional[str]): Filter by session_id. Defaults to None.
|
587 |
| - from_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp on or after this datetime (ISO 8601). Defaults to None. |
588 |
| - to_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp before this datetime (ISO 8601). Defaults to None. |
| 596 | + from_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp on or after this datetime. Defaults to None. |
| 597 | + to_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp before this datetime. Defaults to None. |
589 | 598 | order_by (Optional[str]): Format of the string `[field].[asc/desc]`. Fields: id, timestamp, name, userId, release, version, public, bookmarked, sessionId. Example: `timestamp.asc`. Defaults to None.
|
590 | 599 | tags (Optional[Union[str, Sequence[str]]]): Filter by tags. Defaults to None.
|
591 | 600 |
|
@@ -636,8 +645,8 @@ def get_traces(
|
636 | 645 | name (Optional[str]): Filter by name of traces. Defaults to None.
|
637 | 646 | user_id (Optional[str]): Filter by user_id. Defaults to None.
|
638 | 647 | session_id (Optional[str]): Filter by session_id. Defaults to None.
|
639 |
| - from_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp on or after this datetime (ISO 8601). Defaults to None. |
640 |
| - to_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp before this datetime (ISO 8601). Defaults to None. |
| 648 | + from_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp on or after this datetime. Defaults to None. |
| 649 | + to_timestamp (Optional[dt.datetime]): Retrieve only traces with a timestamp before this datetime. Defaults to None. |
641 | 650 | order_by (Optional[str]): Format of the string `[field].[asc/desc]`. Fields: id, timestamp, name, userId, release, version, public, bookmarked, sessionId. Example: `timestamp.asc`. Defaults to None.
|
642 | 651 | tags (Optional[Union[str, Sequence[str]]]): Filter by tags. Defaults to None.
|
643 | 652 |
|
@@ -692,8 +701,8 @@ def fetch_observations(
|
692 | 701 | user_id (Optional[str]): User identifier. Defaults to None.
|
693 | 702 | trace_id (Optional[str]): Trace identifier. Defaults to None.
|
694 | 703 | parent_observation_id (Optional[str]): Parent observation identifier. Defaults to None.
|
695 |
| - from_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time on or after this datetime (ISO 8601). Defaults to None. |
696 |
| - to_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time before this datetime (ISO 8601). Defaults to None. |
| 704 | + from_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time on or after this datetime. Defaults to None. |
| 705 | + to_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time before this datetime. Defaults to None. |
697 | 706 | type (Optional[str]): Type of the observation. Defaults to None.
|
698 | 707 |
|
699 | 708 | Returns:
|
@@ -744,8 +753,8 @@ def get_observations(
|
744 | 753 | user_id (Optional[str]): User identifier. Defaults to None.
|
745 | 754 | trace_id (Optional[str]): Trace identifier. Defaults to None.
|
746 | 755 | parent_observation_id (Optional[str]): Parent observation identifier. Defaults to None.
|
747 |
| - from_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time on or after this datetime (ISO 8601). Defaults to None. |
748 |
| - to_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time before this datetime (ISO 8601). Defaults to None. |
| 756 | + from_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time on or after this datetime. Defaults to None. |
| 757 | + to_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time before this datetime. Defaults to None. |
749 | 758 | type (Optional[str]): Type of the observation. Defaults to None.
|
750 | 759 |
|
751 | 760 | Returns:
|
@@ -797,8 +806,8 @@ def get_generations(
|
797 | 806 | name (Optional[str]): Name of the generations to return. Defaults to None.
|
798 | 807 | user_id (Optional[str]): User identifier of the generations to return. Defaults to None.
|
799 | 808 | trace_id (Optional[str]): Trace identifier of the generations to return. Defaults to None.
|
800 |
| - from_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time on or after this datetime (ISO 8601). Defaults to None. |
801 |
| - to_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time before this datetime (ISO 8601). Defaults to None. |
| 809 | + from_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time on or after this datetime. Defaults to None. |
| 810 | + to_start_time (Optional[dt.datetime]): Retrieve only observations with a start_time before this datetime. Defaults to None. |
802 | 811 | parent_observation_id (Optional[str]): Parent observation identifier of the generations to return. Defaults to None.
|
803 | 812 |
|
804 | 813 | Returns:
|
@@ -869,6 +878,43 @@ def get_observation(
|
869 | 878 | self.log.exception(e)
|
870 | 879 | raise e
|
871 | 880 |
|
| 881 | + def fetch_sessions( |
| 882 | + self, |
| 883 | + *, |
| 884 | + page: typing.Optional[int] = None, |
| 885 | + limit: typing.Optional[int] = None, |
| 886 | + from_timestamp: typing.Optional[dt.datetime] = None, |
| 887 | + to_timestamp: typing.Optional[dt.datetime] = None, |
| 888 | + ) -> FetchSessionsResponse: |
| 889 | + """Get a list of sessions in the current project. |
| 890 | +
|
| 891 | + Args: |
| 892 | + page (Optional[int]): Page number of the sessions to return. Defaults to None. |
| 893 | + limit (Optional[int]): Maximum number of sessions to return. Defaults to None. |
| 894 | + from_timestamp (Optional[dt.datetime]): Retrieve only sessions with a timestamp on or after this datetime. Defaults to None. |
| 895 | + to_timestamp (Optional[dt.datetime]): Retrieve only sessions with a timestamp before this datetime. Defaults to None. |
| 896 | +
|
| 897 | + Returns: |
| 898 | + FetchSessionsResponse, list of sessions on `data` and metadata on `meta`. |
| 899 | +
|
| 900 | + Raises: |
| 901 | + Exception: If an error occurred during the request. |
| 902 | + """ |
| 903 | + try: |
| 904 | + self.log.debug( |
| 905 | + f"Getting sessions... {page}, {limit}, {from_timestamp}, {to_timestamp}" |
| 906 | + ) |
| 907 | + res = self.client.sessions.list( |
| 908 | + page=page, |
| 909 | + limit=limit, |
| 910 | + from_timestamp=from_timestamp, |
| 911 | + to_timestamp=to_timestamp, |
| 912 | + ) |
| 913 | + return FetchSessionsResponse(data=res.data, meta=res.meta) |
| 914 | + except Exception as e: |
| 915 | + self.log.exception(e) |
| 916 | + raise e |
| 917 | + |
872 | 918 | @overload
|
873 | 919 | def get_prompt(
|
874 | 920 | self,
|
|
0 commit comments