From acffca8bb7376fe46631c1b76aeff3ac9edf9381 Mon Sep 17 00:00:00 2001 From: William Zhu Date: Mon, 18 Nov 2024 16:45:12 -0500 Subject: [PATCH] Fix issue with runnable schema output + typed_dict --- libs/core/langchain_core/runnables/base.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libs/core/langchain_core/runnables/base.py b/libs/core/langchain_core/runnables/base.py index 9f9a77bc705..cb11cfbd900 100644 --- a/libs/core/langchain_core/runnables/base.py +++ b/libs/core/langchain_core/runnables/base.py @@ -3593,6 +3593,12 @@ class RunnableParallel(RunnableSerializable[Input, dict[str, Any]]): == "object" for s in self.steps__.values() ): + for step in self.steps__.values(): + for k, v in step.get_input_schema(config).model_fields.items(): + if v.annotation != Any and k == "root": + return super().get_input_schema(config) + + # This is correct, but pydantic typings/mypy don't think so. return create_model_v2( # type: ignore[call-overload] self.get_name("Input"),