From 35f719164bd2bf3154bde86d82f6f1859b1d7116 Mon Sep 17 00:00:00 2001 From: RolandJAAI <38503289+RolandJAAI@users.noreply.github.com> Date: Mon, 20 Jan 2025 10:50:03 +0100 Subject: [PATCH] Fix Bug in from_langchain in tools.py (#268) * Fix from_langchain in tools.py --- src/smolagents/tools.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/smolagents/tools.py b/src/smolagents/tools.py index 57ac7b0..6af27e4 100644 --- a/src/smolagents/tools.py +++ b/src/smolagents/tools.py @@ -188,7 +188,7 @@ class Tool: assert getattr(self, "output_type", None) in AUTHORIZED_TYPES - # Validate forward function signature, except for Tools that use a "generic" signature (PipelineTool, SpaceToolWrapper) + # Validate forward function signature, except for Tools that use a "generic" signature (PipelineTool, SpaceToolWrapper, LangChainToolWrapper) if not ( hasattr(self, "skip_forward_signature_validation") and getattr(self, "skip_forward_signature_validation") is True @@ -676,6 +676,8 @@ class Tool: """ class LangChainToolWrapper(Tool): + skip_forward_signature_validation = True + def __init__(self, _langchain_tool): self.name = _langchain_tool.name.lower() self.description = _langchain_tool.description @@ -686,6 +688,7 @@ class Tool: input_content["description"] = "" self.output_type = "string" self.langchain_tool = _langchain_tool + self.is_initialized = True def forward(self, *args, **kwargs): tool_input = kwargs.copy()