From 3acf842e35dae3cfc267fb9750bd883075a1d3aa Mon Sep 17 00:00:00 2001 From: Jorge Piedrahita Ortiz Date: Thu, 20 Feb 2025 12:30:50 -0500 Subject: [PATCH] core: add sambanova chat models to load module mapping (#29855) - **Description:** add sambanova integration package chat models to load module mapping, to allow serialization and deserialization --- .../tests/unit_tests/load/test_serializable.py | 10 ++++++++++ libs/core/langchain_core/load/load.py | 1 + libs/core/langchain_core/load/mapping.py | 10 ++++++++++ 3 files changed, 21 insertions(+) diff --git a/libs/community/tests/unit_tests/load/test_serializable.py b/libs/community/tests/unit_tests/load/test_serializable.py index 819d47d9a73..78eaa319b93 100644 --- a/libs/community/tests/unit_tests/load/test_serializable.py +++ b/libs/community/tests/unit_tests/load/test_serializable.py @@ -112,6 +112,16 @@ def test_serializable_mapping() -> None: "chat_models", "ChatGroq", ), + ("langchain_sambanova", "chat_models", "ChatSambaNovaCloud"): ( + "langchain_sambanova", + "chat_models", + "ChatSambaNovaCloud", + ), + ("langchain_sambanova", "chat_models", "ChatSambaStudio"): ( + "langchain_sambanova", + "chat_models", + "ChatSambaStudio", + ), # TODO(0.3): For now we're skipping the below two tests. Need to fix # so that it only runs when langchain-aws, langchain-google-genai # are installed. diff --git a/libs/core/langchain_core/load/load.py b/libs/core/langchain_core/load/load.py index ff991789f45..c407a25880c 100644 --- a/libs/core/langchain_core/load/load.py +++ b/libs/core/langchain_core/load/load.py @@ -25,6 +25,7 @@ DEFAULT_NAMESPACES = [ "langchain_mistralai", "langchain_fireworks", "langchain_xai", + "langchain_sambanova", ] # Namespaces for which only deserializing via the SERIALIZABLE_MAPPING is allowed. # Load by path is not allowed. diff --git a/libs/core/langchain_core/load/mapping.py b/libs/core/langchain_core/load/mapping.py index ca88faac28d..eb7f2553c1f 100644 --- a/libs/core/langchain_core/load/mapping.py +++ b/libs/core/langchain_core/load/mapping.py @@ -528,6 +528,16 @@ SERIALIZABLE_MAPPING: dict[tuple[str, ...], tuple[str, ...]] = { "structured", "StructuredPrompt", ), + ("langchain_sambanova", "chat_models", "ChatSambaNovaCloud"): ( + "langchain_sambanova", + "chat_models", + "ChatSambaNovaCloud", + ), + ("langchain_sambanova", "chat_models", "ChatSambaStudio"): ( + "langchain_sambanova", + "chat_models", + "ChatSambaStudio", + ), } # Needed for backwards compatibility for old versions of LangChain where things