From 1f1478430d460d0d3a7c4126b2cbc51ad415722d Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Wed, 15 Jan 2025 14:38:25 +0100 Subject: [PATCH] fix(langchain): mitigate missing run_id on_chain_error --- langfuse/callback/langchain.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/langfuse/callback/langchain.py b/langfuse/callback/langchain.py index b3c060b18..44d15c556 100644 --- a/langfuse/callback/langchain.py +++ b/langfuse/callback/langchain.py @@ -481,16 +481,21 @@ def on_chain_error( ) -> None: try: self._log_debug_event("on_chain_error", run_id, parent_run_id, error=error) - self.runs[run_id] = self.runs[run_id].end( - level="ERROR", - status_message=str(error), - version=self.version, - input=kwargs.get("inputs"), - ) + if run_id in self.runs: + self.runs[run_id] = self.runs[run_id].end( + level="ERROR", + status_message=str(error), + version=self.version, + input=kwargs.get("inputs"), + ) - self._update_trace_and_remove_state( - run_id, parent_run_id, error, input=kwargs.get("inputs") - ) + self._update_trace_and_remove_state( + run_id, parent_run_id, error, input=kwargs.get("inputs") + ) + else: + self.log.warning( + f"Run ID {run_id} already popped from run map. Could not update run with error message" + ) except Exception as e: self.log.exception(e)