Tool Schema
Step 4: Create the RecycleBinTool
Class
RecycleBinTool
ClassNext, we define the RecycleBinTool
class, which inherits from BaseTool
. This class will implement the logic to perform actions on the recycle bin.
class RecycleBinTool(BaseTool):
name: str = "recycle_bin"
description: str = "Clear the recycle bin or recycle a specific file or all files."
args_schema: Optional[Type[BaseModel]] = RecycleBinArgs
return_direct: Optional[bool] = False
name
: The tool’s name.description
: A brief description of what the tool does.args_schema
: Specifies the schema of input arguments usingRecycleBinArgs
.return_direct
: Set toFalse
, meaning the response will go through the LLM and not directly returned.
Step 5: Implement the _run
Method
_run
MethodThis is the core function where the logic for different actions like clearing the bin, searching files, and restoring files will be implemented.
def _run(self, action: str, file_name: Optional[str] = None, file_path: Optional[str] = None) -> str:
try:
if action == "clear_bin":
return self.clear_bin()
elif action == "recycle_file" and file_path:
return self.recycle_file(file_path)
elif action == "recycle_all":
return self.recycle_all()
elif action == "search_file" and file_name:
return self.search_file(file_name)
else:
return "Error: Invalid action or missing parameters."
except Exception as e:
return f"Error: {str(e)}"
In this method:
We handle different actions like
clear_bin
,recycle_file
,recycle_all
, andsearch_file
.The appropriate method is called based on the action, and an error message is returned if invalid parameters are provided.
Last updated