From ef75bb63ce5cc4fb76ba1631ebe582f56103ab7e Mon Sep 17 00:00:00 2001 From: Nuno Campos Date: Sat, 20 Jan 2024 18:52:26 -0800 Subject: [PATCH] core[patch] Fix tracer output of streamed runs with non-addable output (#16324) - Used to be None, now is just the last chunk --- libs/core/langchain_core/runnables/base.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/libs/core/langchain_core/runnables/base.py b/libs/core/langchain_core/runnables/base.py index 2d10bf5f834..cdaab4015b5 100644 --- a/libs/core/langchain_core/runnables/base.py +++ b/libs/core/langchain_core/runnables/base.py @@ -1503,8 +1503,10 @@ class Runnable(Generic[Input, Output], ABC): try: final_output = final_output + chunk # type: ignore except TypeError: - final_output = None + final_output = chunk final_output_supported = False + else: + final_output = chunk except StopIteration: pass for ichunk in input_for_tracing: @@ -1515,8 +1517,10 @@ class Runnable(Generic[Input, Output], ABC): try: final_input = final_input + ichunk # type: ignore except TypeError: - final_input = None + final_input = ichunk final_input_supported = False + else: + final_input = ichunk except BaseException as e: run_manager.on_chain_error(e, inputs=final_input) raise @@ -1602,8 +1606,10 @@ class Runnable(Generic[Input, Output], ABC): try: final_output = final_output + chunk # type: ignore except TypeError: - final_output = None + final_output = chunk final_output_supported = False + else: + final_output = chunk except StopAsyncIteration: pass async for ichunk in input_for_tracing: @@ -1614,8 +1620,10 @@ class Runnable(Generic[Input, Output], ABC): try: final_input = final_input + ichunk # type: ignore[operator] except TypeError: - final_input = None + final_input = ichunk final_input_supported = False + else: + final_input = ichunk except BaseException as e: await run_manager.on_chain_error(e, inputs=final_input) raise