Katya Beresneva commited on
Commit
364795f
·
1 Parent(s): 42ca2b8
Files changed (1) hide show
  1. tools.py +19 -0
tools.py CHANGED
@@ -1,4 +1,23 @@
1
  from langchain.tools import tool
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  @tool("kate-enhanced-search", parse_docstring=True)
4
  async def kate_search(
 
1
  from langchain.tools import tool
2
+ from typing import Any, Optional
3
+
4
+ class SmolagentToolWrapper:
5
+ """Wrapper class to make smolagents tools compatible with LangChain."""
6
+
7
+ def __init__(self, tool: Any):
8
+ self.tool = tool
9
+ self.name = tool.name
10
+ self.description = tool.description
11
+
12
+ async def _arun(self, *args: Any, **kwargs: Any) -> Any:
13
+ """Async run the tool."""
14
+ if hasattr(self.tool, 'async_run'):
15
+ return await self.tool.async_run(*args, **kwargs)
16
+ return await self.tool.run(*args, **kwargs)
17
+
18
+ def _run(self, *args: Any, **kwargs: Any) -> Any:
19
+ """Sync run the tool."""
20
+ return self.tool.run(*args, **kwargs)
21
 
22
  @tool("kate-enhanced-search", parse_docstring=True)
23
  async def kate_search(