_serialize_lc_object() — langchain Function Reference
Architecture documentation for the _serialize_lc_object() function in _validation.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD d5caf201_e072_55dd_f795_53d30216643e["_serialize_lc_object()"] 1b9f9aae_21a8_0928_76d1_c2f1609b2193["_validation.py"] d5caf201_e072_55dd_f795_53d30216643e -->|defined in| 1b9f9aae_21a8_0928_76d1_c2f1609b2193 12e29989_c05d_0426_3212_cc4e68daaa88["_serialize_value()"] 12e29989_c05d_0426_3212_cc4e68daaa88 -->|calls| d5caf201_e072_55dd_f795_53d30216643e 3f4f9112_d69f_2284_13b6_85518e946059["_is_lc_secret()"] d5caf201_e072_55dd_f795_53d30216643e -->|calls| 3f4f9112_d69f_2284_13b6_85518e946059 12e29989_c05d_0426_3212_cc4e68daaa88["_serialize_value()"] d5caf201_e072_55dd_f795_53d30216643e -->|calls| 12e29989_c05d_0426_3212_cc4e68daaa88 style d5caf201_e072_55dd_f795_53d30216643e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/langchain_core/load/_validation.py lines 117–145
def _serialize_lc_object(obj: Any) -> dict[str, Any]:
"""Serialize a `Serializable` object with escaping of user data in kwargs.
Args:
obj: The `Serializable` object to serialize.
Returns:
The serialized dict with user data in kwargs escaped as needed.
Note:
Kwargs values are processed with `_serialize_value` to escape user data (like
metadata) that contains `'lc'` keys. Secret fields (from `lc_secrets`) are
skipped because `to_json()` replaces their values with secret markers.
"""
if not isinstance(obj, Serializable):
msg = f"Expected Serializable, got {type(obj)}"
raise TypeError(msg)
serialized: dict[str, Any] = dict(obj.to_json())
# Process kwargs to escape user data that could be confused with LC objects
# Skip secret fields - to_json() already converted them to secret markers
if serialized.get("type") == "constructor" and "kwargs" in serialized:
serialized["kwargs"] = {
k: v if _is_lc_secret(v) else _serialize_value(v)
for k, v in serialized["kwargs"].items()
}
return serialized
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does _serialize_lc_object() do?
_serialize_lc_object() is a function in the langchain codebase, defined in libs/core/langchain_core/load/_validation.py.
Where is _serialize_lc_object() defined?
_serialize_lc_object() is defined in libs/core/langchain_core/load/_validation.py at line 117.
What does _serialize_lc_object() call?
_serialize_lc_object() calls 2 function(s): _is_lc_secret, _serialize_value.
What calls _serialize_lc_object()?
_serialize_lc_object() is called by 1 function(s): _serialize_value.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free