Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
classmethod from_function(func: Optional[Callable] = None, coroutine: Optional[Callable[[...], Awaitable[Any]]] = None, name: Optional[str] = None, description: Optional[str] = None, return_direct: bool = False, args_schema: Optional[Type[BaseModel]] = None, infer_schema: bool = True, **kwargs: Any) → StructuredTool[source]¶
Create tool from a given function.
A classmethod that helps to create a tool from a function.
Parameters
func – The function from which to create a tool
coroutine – The async function from which to create a tool
name – The name of the tool. Defaults to the function name
description – The description of the tool. Defaults to the function docstring
return_direct – Whether to return the result directly or as a callback
args_schema – The schema of the tool’s input arguments
infer_schema – Whether to infer the schema from the function’s signature
**kwargs – Additional arguments to pass to the tool
Returns
The tool
Examples
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b
tool = StructuredTool.from_function(add)
tool.run(1, 2) # 3
classmethod from_orm(obj: Any) → Model¶
invoke(input: Union[str, Dict], config: Optional[RunnableConfig] = None, **kwargs: Any) → Any¶