From c53aa5cd37da7a2b6c6630097b813064247c460c Mon Sep 17 00:00:00 2001 From: Bagatur <22008038+baskaryan@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:19:46 -0800 Subject: [PATCH] core[patch]: support JS message serial namespaces (#18151) --- libs/core/langchain_core/load/load.py | 2 + libs/core/langchain_core/load/mapping.py | 87 ++++++++++++++++++++++++ 2 files changed, 89 insertions(+) diff --git a/libs/core/langchain_core/load/load.py b/libs/core/langchain_core/load/load.py index f10e1cb680..7ef2e56101 100644 --- a/libs/core/langchain_core/load/load.py +++ b/libs/core/langchain_core/load/load.py @@ -5,6 +5,7 @@ from typing import Any, Dict, List, Optional from langchain_core._api import beta from langchain_core.load.mapping import ( + _JS_SERIALIZABLE_MAPPING, _OG_SERIALIZABLE_MAPPING, OLD_CORE_NAMESPACES_MAPPING, SERIALIZABLE_MAPPING, @@ -17,6 +18,7 @@ ALL_SERIALIZABLE_MAPPINGS = { **SERIALIZABLE_MAPPING, **OLD_CORE_NAMESPACES_MAPPING, **_OG_SERIALIZABLE_MAPPING, + **_JS_SERIALIZABLE_MAPPING, } diff --git a/libs/core/langchain_core/load/mapping.py b/libs/core/langchain_core/load/mapping.py index ff9834df27..90d52756f0 100644 --- a/libs/core/langchain_core/load/mapping.py +++ b/libs/core/langchain_core/load/mapping.py @@ -879,3 +879,90 @@ OLD_CORE_NAMESPACES_MAPPING: Dict[Tuple[str, ...], Tuple[str, ...]] = { "RunnableRetry", ), } + +_JS_SERIALIZABLE_MAPPING: Dict[Tuple[str, ...], Tuple[str, ...]] = { + ("langchain_core", "messages", "AIMessage"): ( + "langchain_core", + "messages", + "ai", + "AIMessage", + ), + ("langchain_core", "messages", "AIMessageChunk"): ( + "langchain_core", + "messages", + "ai", + "AIMessageChunk", + ), + ("langchain_core", "messages", "BaseMessage"): ( + "langchain_core", + "messages", + "base", + "BaseMessage", + ), + ("langchain_core", "messages", "BaseMessageChunk"): ( + "langchain_core", + "messages", + "base", + "BaseMessageChunk", + ), + ("langchain_core", "messages", "ChatMessage"): ( + "langchain_core", + "messages", + "chat", + "ChatMessage", + ), + ("langchain_core", "messages", "ChatMessageChunk"): ( + "langchain_core", + "messages", + "chat", + "ChatMessageChunk", + ), + ("langchain_core", "messages", "FunctionMessage"): ( + "langchain_core", + "messages", + "function", + "FunctionMessage", + ), + ("langchain_core", "messages", "FunctionMessageChunk"): ( + "langchain_core", + "messages", + "function", + "FunctionMessageChunk", + ), + ("langchain_core", "messages", "HumanMessage"): ( + "langchain_core", + "messages", + "human", + "HumanMessage", + ), + ("langchain_core", "messages", "HumanMessageChunk"): ( + "langchain_core", + "messages", + "human", + "HumanMessageChunk", + ), + ("langchain_core", "messages", "SystemMessage"): ( + "langchain_core", + "messages", + "system", + "SystemMessage", + ), + ("langchain_core", "messages", "SystemMessageChunk"): ( + "langchain_core", + "messages", + "system", + "SystemMessageChunk", + ), + ("langchain_core", "messages", "ToolMessage"): ( + "langchain_core", + "messages", + "tool", + "ToolMessage", + ), + ("langchain_core", "messages", "ToolMessageChunk"): ( + "langchain_core", + "messages", + "tool", + "ToolMessageChunk", + ), +}