Skip to content

Commit 6e0695b

Browse files
committed
revert
1 parent 6b36bd1 commit 6e0695b

File tree

1 file changed

+62
-59
lines changed

1 file changed

+62
-59
lines changed

langfuse/_client/observe.py

Lines changed: 62 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -409,77 +409,80 @@ def sync_wrapper(*args: Any, **kwargs: Any) -> Any:
409409
else None
410410
)
411411
public_key = kwargs.pop("langfuse_public_key", None)
412-
langfuse_client = get_client(public_key=public_key)
413-
414-
# Use consolidated as_type parameter
415-
final_obs_type = as_type
416-
417-
context_manager: Optional[
418-
Union[
419-
_AgnosticContextManager[LangfuseGeneration],
420-
_AgnosticContextManager[LangfuseSpan],
421-
]
422-
] = (
423-
(
424-
langfuse_client.start_as_current_generation(
425-
name=final_name,
426-
trace_context=trace_context,
427-
input=input,
428-
end_on_exit=False, # when returning a generator, closing on exit would be to early
429-
)
430-
if final_obs_type in ("generation", "GENERATION")
431-
else langfuse_client.start_as_current_span(
432-
name=final_name,
433-
trace_context=trace_context,
434-
input=input,
435-
end_on_exit=False, # when returning a generator, closing on exit would be to early
436-
as_type=final_obs_type,
412+
413+
# Set public key in execution context for nested decorated functions
414+
with _set_current_public_key(public_key):
415+
langfuse_client = get_client(public_key=public_key)
416+
417+
# Use consolidated as_type parameter
418+
final_obs_type = as_type
419+
420+
context_manager: Optional[
421+
Union[
422+
_AgnosticContextManager[LangfuseGeneration],
423+
_AgnosticContextManager[LangfuseSpan],
424+
]
425+
] = (
426+
(
427+
langfuse_client.start_as_current_generation(
428+
name=final_name,
429+
trace_context=trace_context,
430+
input=input,
431+
end_on_exit=False, # when returning a generator, closing on exit would be to early
432+
)
433+
if final_obs_type in ("generation", "GENERATION")
434+
else langfuse_client.start_as_current_span(
435+
name=final_name,
436+
trace_context=trace_context,
437+
input=input,
438+
end_on_exit=False, # when returning a generator, closing on exit would be to early
439+
as_type=final_obs_type,
440+
)
437441
)
442+
if langfuse_client
443+
else None
438444
)
439-
if langfuse_client
440-
else None
441-
)
442445

443-
if context_manager is None:
444-
return func(*args, **kwargs)
446+
if context_manager is None:
447+
return func(*args, **kwargs)
445448

446-
with context_manager as langfuse_span_or_generation:
447-
is_return_type_generator = False
449+
with context_manager as langfuse_span_or_generation:
450+
is_return_type_generator = False
448451

449-
try:
450-
result = func(*args, **kwargs)
452+
try:
453+
result = func(*args, **kwargs)
451454

452-
if capture_output is True:
453-
if inspect.isgenerator(result):
454-
is_return_type_generator = True
455+
if capture_output is True:
456+
if inspect.isgenerator(result):
457+
is_return_type_generator = True
455458

456-
return self._wrap_sync_generator_result(
457-
langfuse_span_or_generation,
458-
result,
459-
transform_to_string,
460-
)
459+
return self._wrap_sync_generator_result(
460+
langfuse_span_or_generation,
461+
result,
462+
transform_to_string,
463+
)
461464

462-
if inspect.isasyncgen(result):
463-
is_return_type_generator = True
465+
if inspect.isasyncgen(result):
466+
is_return_type_generator = True
464467

465-
return self._wrap_async_generator_result(
466-
langfuse_span_or_generation,
467-
result,
468-
transform_to_string,
469-
)
468+
return self._wrap_async_generator_result(
469+
langfuse_span_or_generation,
470+
result,
471+
transform_to_string,
472+
)
470473

471-
langfuse_span_or_generation.update(output=result)
474+
langfuse_span_or_generation.update(output=result)
472475

473-
return result
474-
except Exception as e:
475-
langfuse_span_or_generation.update(
476-
level="ERROR", status_message=str(e)
477-
)
476+
return result
477+
except Exception as e:
478+
langfuse_span_or_generation.update(
479+
level="ERROR", status_message=str(e)
480+
)
478481

479-
raise e
480-
finally:
481-
if not is_return_type_generator:
482-
langfuse_span_or_generation.end()
482+
raise e
483+
finally:
484+
if not is_return_type_generator:
485+
langfuse_span_or_generation.end()
483486

484487
return cast(F, sync_wrapper)
485488

0 commit comments

Comments
 (0)