Skip to content

Commit 79e7fec

Browse files
committed
feat(langchain): add update_trace argument
1 parent 117f6ee commit 79e7fec

1 file changed

Lines changed: 26 additions & 4 deletions

File tree

langfuse/langchain/CallbackHandler.py

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,17 @@
5656

5757

5858
class LangchainCallbackHandler(LangchainBaseCallbackHandler):
59-
def __init__(self, *, public_key: Optional[str] = None) -> None:
59+
def __init__(
60+
self, *, public_key: Optional[str] = None, update_trace: Optional[bool] = False
61+
) -> None:
6062
self.client = get_client(public_key=public_key)
6163

6264
self.runs: Dict[UUID, Union[LangfuseSpan, LangfuseGeneration]] = {}
6365
self.prompt_to_parent_run_map: Dict[UUID, Any] = {}
6466
self.updated_completion_start_time_memo: Set[UUID] = set()
6567

6668
self.last_trace_id: Optional[str] = None
69+
self.update_trace = update_trace
6770

6871
def on_llm_new_token(
6972
self,
@@ -207,7 +210,19 @@ def on_chain_start(
207210
),
208211
)
209212
span.update_trace(
210-
**self._parse_langfuse_trace_attributes_from_metadata(metadata)
213+
**(
214+
cast(
215+
Any,
216+
{
217+
"input": inputs,
218+
"name": span_name,
219+
"metadata": span_metadata,
220+
},
221+
)
222+
if self.update_trace
223+
else {}
224+
),
225+
**self._parse_langfuse_trace_attributes_from_metadata(metadata),
211226
)
212227
self.runs[run_id] = span
213228
else:
@@ -322,14 +337,21 @@ def on_chain_end(
322337
if run_id not in self.runs:
323338
raise Exception("run not found")
324339

325-
self.runs[run_id].update(
340+
span = self.runs[run_id]
341+
span.update(
326342
output=outputs,
327343
input=kwargs.get("inputs"),
328-
).end()
344+
)
345+
346+
if parent_run_id is None and self.update_trace:
347+
span.update_trace(output=outputs, input=kwargs.get("inputs"))
348+
349+
span.end()
329350

330351
del self.runs[run_id]
331352

332353
self._deregister_langfuse_prompt(run_id)
354+
333355
except Exception as e:
334356
langfuse_logger.exception(e)
335357

0 commit comments

Comments
 (0)