Skip to content

Commit 23fa4ec

Browse files
committed
push
1 parent 84c2007 commit 23fa4ec

File tree

2 files changed

+10
-35
lines changed

2 files changed

+10
-35
lines changed

langfuse/callback/langchain.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import typing
2-
from collections import defaultdict
32

43
import pydantic
54

@@ -49,12 +48,11 @@
4948

5049

5150
class LangchainCallbackHandler(LangchainBaseCallbackHandler):
52-
def __init__(self) -> None:
53-
self.langfuse = get_client()
51+
def __init__(self, *, public_key: Optional[str] = None) -> None:
52+
self.langfuse_client = get_client(public_key=public_key)
5453

5554
self.runs: Dict[UUID, Union[LangfuseSpan, LangfuseGeneration]] = {}
5655
self.prompt_to_parent_run_map = {}
57-
self.trace_updates = defaultdict(dict)
5856
self.updated_completion_start_time_memo = set()
5957

6058
def on_llm_new_token(
@@ -168,7 +166,7 @@ def on_chain_start(
168166
}
169167

170168
if parent_run_id is None:
171-
self.runs[run_id] = self.langfuse.start_span(**content)
169+
self.runs[run_id] = self.langfuse_client.start_span(**content)
172170
else:
173171
self.runs[run_id] = cast(
174172
LangfuseSpan, self.runs[parent_run_id]
@@ -428,7 +426,7 @@ def on_retriever_start(
428426
"level": "DEBUG" if tags and LANGSMITH_TAG_HIDDEN in tags else None,
429427
}
430428

431-
self.runs[run_id] = self.langfuse.start_span(**content)
429+
self.runs[run_id] = self.langfuse_client.start_span(**content)
432430
else:
433431
self.runs[run_id] = cast(
434432
LangfuseSpan, self.runs[parent_run_id]
@@ -551,7 +549,7 @@ def __on_llm_action(
551549
LangfuseSpan, self.runs[parent_run_id]
552550
).start_generation(**content)
553551
else:
554-
self.runs[run_id] = self.langfuse.start_generation(**content)
552+
self.runs[run_id] = self.langfuse_client.start_generation(**content)
555553

556554
except Exception as e:
557555
langfuse_logger.exception(e)

langfuse/openai.py

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -147,19 +147,12 @@ class OpenAiDefinition:
147147
class OpenAiArgsExtractor:
148148
def __init__(
149149
self,
150-
name=None,
151150
metadata=None,
152-
trace_id=None,
153-
session_id=None,
154-
user_id=None,
155-
tags=None,
156-
parent_observation_id=None,
157151
langfuse_prompt=None, # we cannot use prompt because it's an argument of the old OpenAI completions API
158152
langfuse_public_key=None,
159153
**kwargs,
160154
):
161155
self.args = {}
162-
self.args["name"] = name
163156
self.args["metadata"] = (
164157
metadata
165158
if "response_format" not in kwargs
@@ -172,12 +165,8 @@ def __init__(
172165
}
173166
)
174167
self.args["langfuse_public_key"] = langfuse_public_key
175-
self.args["trace_id"] = trace_id
176-
self.args["parent_observation_id"] = parent_observation_id
177-
self.args["session_id"] = session_id
178-
self.args["user_id"] = user_id
179-
self.args["tags"] = tags
180168
self.args["langfuse_prompt"] = langfuse_prompt
169+
181170
self.kwargs = kwargs
182171

183172
def get_langfuse_args(self):
@@ -689,12 +678,6 @@ def _wrap(open_ai_resource: OpenAiDefinition, wrapped, args, kwargs):
689678
name=langfuse_data["name"],
690679
input=langfuse_data.get("input", None),
691680
metadata=langfuse_data.get("metadata", None),
692-
trace_context={
693-
"trace_id": cast(str, langfuse_data.get("trace_id", None)),
694-
"parent_span_id": cast(
695-
str, langfuse_data.get("parent_observation_id", None)
696-
),
697-
},
698681
model_parameters=langfuse_data.get("model_parameters", None),
699682
model=langfuse_data.get("model", None),
700683
prompt=langfuse_data.get("langfuse_prompt", None),
@@ -722,8 +705,7 @@ def _wrap(open_ai_resource: OpenAiDefinition, wrapped, args, kwargs):
722705
model=model,
723706
output=completion,
724707
usage_details=usage,
725-
)
726-
generation.end()
708+
).end()
727709

728710
return openai_response
729711
except Exception as ex:
@@ -734,9 +716,7 @@ def _wrap(open_ai_resource: OpenAiDefinition, wrapped, args, kwargs):
734716
level="ERROR",
735717
model=model,
736718
cost_details={"input": 0, "output": 0, "total": 0},
737-
)
738-
739-
generation.end()
719+
).end()
740720

741721
raise ex
742722

@@ -786,8 +766,7 @@ async def _wrap_async(open_ai_resource: OpenAiDefinition, wrapped, args, kwargs)
786766
output=completion,
787767
usage=usage, # backward compat for all V2 self hosters
788768
usage_details=usage,
789-
)
790-
generation.end()
769+
).end()
791770

792771
return openai_response
793772
except Exception as ex:
@@ -798,9 +777,7 @@ async def _wrap_async(open_ai_resource: OpenAiDefinition, wrapped, args, kwargs)
798777
level="ERROR",
799778
model=model,
800779
cost_details={"input": 0, "output": 0, "total": 0},
801-
)
802-
803-
generation.end()
780+
).end()
804781

805782
raise ex
806783

0 commit comments

Comments
 (0)