From 33b3e22083cd498d6b2df14f0a3bc4035256be94 Mon Sep 17 00:00:00 2001 From: Eugene Yurtsev Date: Fri, 22 Nov 2024 16:30:34 -0500 Subject: [PATCH] x --- libs/core/langchain_core/runnables/base.py | 2 +- libs/core/langchain_core/utils/pydantic.py | 2 +- .../unit_tests/runnables/__snapshots__/test_runnable.ambr | 3 ++- libs/core/tests/unit_tests/runnables/test_runnable.py | 4 +++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/libs/core/langchain_core/runnables/base.py b/libs/core/langchain_core/runnables/base.py index 9f9a77bc705..edd9142d191 100644 --- a/libs/core/langchain_core/runnables/base.py +++ b/libs/core/langchain_core/runnables/base.py @@ -5217,7 +5217,7 @@ class RunnableBindingBase(RunnableSerializable[Input, Output]): kwargs. """ - config: RunnableConfig = Field(default_factory=dict) + config: RunnableConfig = Field(default_factory=RunnableConfig) """The config to bind to the underlying Runnable.""" config_factories: list[Callable[[RunnableConfig], RunnableConfig]] = Field( diff --git a/libs/core/langchain_core/utils/pydantic.py b/libs/core/langchain_core/utils/pydantic.py index d3a9e6675e7..0b87e2dcf85 100644 --- a/libs/core/langchain_core/utils/pydantic.py +++ b/libs/core/langchain_core/utils/pydantic.py @@ -211,7 +211,7 @@ def pre_init(func: Callable) -> Any: name not in values or values[name] is None ) and not field_info.is_required(): if field_info.default_factory is not None: - values[name] = field_info.default_factory() + values[name] = field_info.default_factory() # type: ignore else: values[name] = field_info.default diff --git a/libs/core/tests/unit_tests/runnables/__snapshots__/test_runnable.ambr b/libs/core/tests/unit_tests/runnables/__snapshots__/test_runnable.ambr index 38a99073107..cadfa74d9af 100644 --- a/libs/core/tests/unit_tests/runnables/__snapshots__/test_runnable.ambr +++ b/libs/core/tests/unit_tests/runnables/__snapshots__/test_runnable.ambr @@ -14047,7 +14047,8 @@ "stop": [ "Thought:" ] - } + }, + "config": {} }, "name": "FakeListChatModel" }, diff --git a/libs/core/tests/unit_tests/runnables/test_runnable.py b/libs/core/tests/unit_tests/runnables/test_runnable.py index 8e34c7873e4..828f4cafcab 100644 --- a/libs/core/tests/unit_tests/runnables/test_runnable.py +++ b/libs/core/tests/unit_tests/runnables/test_runnable.py @@ -2949,7 +2949,9 @@ def test_seq_prompt_map(mocker: MockerFixture, snapshot: SnapshotAssertion) -> N assert chain.first == prompt assert chain.middle == [RunnableLambda(passthrough)] assert isinstance(chain.last, RunnableParallel) - assert dumps(chain, pretty=True) == snapshot + + if (PYDANTIC_MAJOR_VERSION, PYDANTIC_MINOR_VERSION) >= (2, 10): + assert dumps(chain, pretty=True) == snapshot # Test invoke prompt_spy = mocker.spy(prompt.__class__, "invoke")