From 280839b9dfffdf7e137bbaa8ed1cc44d5974a603 Mon Sep 17 00:00:00 2001 From: Nuno Campos Date: Tue, 30 Apr 2024 10:16:53 -0700 Subject: [PATCH] Try to avoid using deprecated method --- langgraph/serde/jsonplus.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/langgraph/serde/jsonplus.py b/langgraph/serde/jsonplus.py index 9fe4b9d3c..c6aa15184 100644 --- a/langgraph/serde/jsonplus.py +++ b/langgraph/serde/jsonplus.py @@ -38,7 +38,13 @@ class JsonPlusSerializer(SerializerProtocol): if isinstance(obj, Serializable): return obj.to_json() elif isinstance(obj, (BaseModel, LcBaseModel)): - return self._encode_constructor_args(obj.__class__, kwargs=obj.dict()) + # prefer non-deprecated method if available + if hasattr(obj, "model_dump"): + return self._encode_constructor_args( + obj.__class__, kwargs=obj.model_dump() + ) + else: + return self._encode_constructor_args(obj.__class__, kwargs=obj.dict()) elif isinstance(obj, UUID): return self._encode_constructor_args(UUID, args=[obj.hex]) elif isinstance(obj, (set, frozenset)):