langchain_core.tools
.tool¶
- langchain_core.tools.tool(*args: Union[str, Callable, Runnable], return_direct: bool = False, args_schema: Optional[Type[BaseModel]] = None, infer_schema: bool = True) Callable [source]¶
Make tools out of functions, can be used with or without arguments.
- Parameters
*args (Union[str, Callable, Runnable]) – The arguments to the tool.
return_direct (bool) – Whether to return directly from the tool rather than continuing the agent loop.
args_schema (Optional[Type[BaseModel]]) – optional argument schema for user to specify
infer_schema (bool) – Whether to infer the schema of the arguments from the function’s signature. This also makes the resultant tool accept a dictionary input to its run() function.
- Return type
Callable
- Requires:
Function must be of type (str) -> str
Function must have a docstring
Examples
@tool def search_api(query: str) -> str: # Searches the API for the query. return @tool("search", return_direct=True) def search_api(query: str) -> str: # Searches the API for the query. return