Skip to content

Commit 5c3a510

Browse files
committed
update SDK
1 parent e41c018 commit 5c3a510

3 files changed

Lines changed: 63 additions & 20 deletions

File tree

langfuse/_client/observe.py

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -266,16 +266,18 @@ async def async_wrapper(*args: Tuple[Any], **kwargs: Dict[str, Any]) -> Any:
266266
langfuse_client = get_client(public_key=public_key)
267267

268268
context_manager: Optional[
269-
Union[
270-
_AgnosticContextManager[LangfuseSpan],
271-
_AgnosticContextManager[LangfuseGeneration],
272-
_AgnosticContextManager[LangfuseAgent],
273-
_AgnosticContextManager[LangfuseTool],
274-
_AgnosticContextManager[LangfuseChain],
275-
_AgnosticContextManager[LangfuseRetriever],
276-
_AgnosticContextManager[LangfuseEvaluator],
277-
_AgnosticContextManager[LangfuseEmbedding],
278-
_AgnosticContextManager[LangfuseGuardrail],
269+
_AgnosticContextManager[
270+
Union[
271+
LangfuseSpan,
272+
LangfuseGeneration,
273+
LangfuseAgent,
274+
LangfuseTool,
275+
LangfuseChain,
276+
LangfuseRetriever,
277+
LangfuseEvaluator,
278+
LangfuseEmbedding,
279+
LangfuseGuardrail,
280+
]
279281
]
280282
] = (
281283
langfuse_client.start_as_current_observation(
@@ -371,16 +373,18 @@ def sync_wrapper(*args: Any, **kwargs: Any) -> Any:
371373
langfuse_client = get_client(public_key=public_key)
372374

373375
context_manager: Optional[
374-
Union[
375-
_AgnosticContextManager[LangfuseSpan],
376-
_AgnosticContextManager[LangfuseGeneration],
377-
_AgnosticContextManager[LangfuseAgent],
378-
_AgnosticContextManager[LangfuseTool],
379-
_AgnosticContextManager[LangfuseChain],
380-
_AgnosticContextManager[LangfuseRetriever],
381-
_AgnosticContextManager[LangfuseEvaluator],
382-
_AgnosticContextManager[LangfuseEmbedding],
383-
_AgnosticContextManager[LangfuseGuardrail],
376+
_AgnosticContextManager[
377+
Union[
378+
LangfuseSpan,
379+
LangfuseGeneration,
380+
LangfuseAgent,
381+
LangfuseTool,
382+
LangfuseChain,
383+
LangfuseRetriever,
384+
LangfuseEvaluator,
385+
LangfuseEmbedding,
386+
LangfuseGuardrail,
387+
]
384388
]
385389
] = (
386390
langfuse_client.start_as_current_observation(

langfuse/api/resources/ingestion/types/observation_type.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,44 @@ class ObservationType(str, enum.Enum):
1010
SPAN = "SPAN"
1111
GENERATION = "GENERATION"
1212
EVENT = "EVENT"
13+
AGENT = "AGENT"
14+
TOOL = "TOOL"
15+
CHAIN = "CHAIN"
16+
RETRIEVER = "RETRIEVER"
17+
EVALUATOR = "EVALUATOR"
18+
EMBEDDING = "EMBEDDING"
19+
GUARDRAIL = "GUARDRAIL"
1320

1421
def visit(
1522
self,
1623
span: typing.Callable[[], T_Result],
1724
generation: typing.Callable[[], T_Result],
1825
event: typing.Callable[[], T_Result],
26+
agent: typing.Callable[[], T_Result],
27+
tool: typing.Callable[[], T_Result],
28+
chain: typing.Callable[[], T_Result],
29+
retriever: typing.Callable[[], T_Result],
30+
evaluator: typing.Callable[[], T_Result],
31+
embedding: typing.Callable[[], T_Result],
32+
guardrail: typing.Callable[[], T_Result],
1933
) -> T_Result:
2034
if self is ObservationType.SPAN:
2135
return span()
2236
if self is ObservationType.GENERATION:
2337
return generation()
2438
if self is ObservationType.EVENT:
2539
return event()
40+
if self is ObservationType.AGENT:
41+
return agent()
42+
if self is ObservationType.TOOL:
43+
return tool()
44+
if self is ObservationType.CHAIN:
45+
return chain()
46+
if self is ObservationType.RETRIEVER:
47+
return retriever()
48+
if self is ObservationType.EVALUATOR:
49+
return evaluator()
50+
if self is ObservationType.EMBEDDING:
51+
return embedding()
52+
if self is ObservationType.GUARDRAIL:
53+
return guardrail()

langfuse/api/resources/observations/client.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from ..commons.errors.method_not_allowed_error import MethodNotAllowedError
1616
from ..commons.errors.not_found_error import NotFoundError
1717
from ..commons.errors.unauthorized_error import UnauthorizedError
18+
from ..commons.types.observation_level import ObservationLevel
1819
from ..commons.types.observations_view import ObservationsView
1920
from .types.observations_views import ObservationsViews
2021

@@ -100,6 +101,7 @@ def get_many(
100101
user_id: typing.Optional[str] = None,
101102
type: typing.Optional[str] = None,
102103
trace_id: typing.Optional[str] = None,
104+
level: typing.Optional[ObservationLevel] = None,
103105
parent_observation_id: typing.Optional[str] = None,
104106
environment: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
105107
from_start_time: typing.Optional[dt.datetime] = None,
@@ -126,6 +128,9 @@ def get_many(
126128
127129
trace_id : typing.Optional[str]
128130
131+
level : typing.Optional[ObservationLevel]
132+
Optional filter for observations with a specific level (e.g. "DEBUG", "DEFAULT", "WARNING", "ERROR").
133+
129134
parent_observation_id : typing.Optional[str]
130135
131136
environment : typing.Optional[typing.Union[str, typing.Sequence[str]]]
@@ -171,6 +176,7 @@ def get_many(
171176
"userId": user_id,
172177
"type": type,
173178
"traceId": trace_id,
179+
"level": level,
174180
"parentObservationId": parent_observation_id,
175181
"environment": environment,
176182
"fromStartTime": serialize_datetime(from_start_time)
@@ -299,6 +305,7 @@ async def get_many(
299305
user_id: typing.Optional[str] = None,
300306
type: typing.Optional[str] = None,
301307
trace_id: typing.Optional[str] = None,
308+
level: typing.Optional[ObservationLevel] = None,
302309
parent_observation_id: typing.Optional[str] = None,
303310
environment: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
304311
from_start_time: typing.Optional[dt.datetime] = None,
@@ -325,6 +332,9 @@ async def get_many(
325332
326333
trace_id : typing.Optional[str]
327334
335+
level : typing.Optional[ObservationLevel]
336+
Optional filter for observations with a specific level (e.g. "DEBUG", "DEFAULT", "WARNING", "ERROR").
337+
328338
parent_observation_id : typing.Optional[str]
329339
330340
environment : typing.Optional[typing.Union[str, typing.Sequence[str]]]
@@ -378,6 +388,7 @@ async def main() -> None:
378388
"userId": user_id,
379389
"type": type,
380390
"traceId": trace_id,
391+
"level": level,
381392
"parentObservationId": parent_observation_id,
382393
"environment": environment,
383394
"fromStartTime": serialize_datetime(from_start_time)

0 commit comments

Comments
 (0)