Skip to content

File Manager Tool

This tool enables LLMs to save and load files.

from pathlib import Path

from griptape.structures import Agent
from griptape.tools import FileManagerTool

# Initialize the FileManagerTool tool with the current directory as its base
file_manager_tool = FileManagerTool()

# Add the tool to the Agent
agent = Agent(tools=[file_manager_tool])

# Directly create a file named 'sample1.txt' with some content
filename = "sample1.txt"
content = "This is the content of sample1.txt"

Path(filename).write_text(filename)

# Now, read content from the file 'sample1.txt' using the agent's command
agent.run("Can you get me the sample1.txt file?")
[09/12/23 12:07:56] INFO     Task 16a1ce1847284ae3805485bad7d99116              
                             Input: Can you get me the sample1.txt file?        
[09/12/23 12:08:04] INFO     Subtask ddcf48d970ce4edbbc22a46b2f83ec4f           
                             Thought: The user wants the content of the file    
                             named "sample1.txt". I can use the FileManagerTool tool
                             with the activity "load_files_from_disk" to load   
                             the file from the disk.                            

                             Action: {"name": "FileManagerTool",    
                             "path": "load_files_from_disk", "input":       
                             {"values": {"paths": ["sample1.txt"]}}}            
                    INFO     Subtask ddcf48d970ce4edbbc22a46b2f83ec4f           
                             Response:                                       
                             [BlobArtifact(id='a715cc1bc6724bf28566a5b3c343b6ed'
                             , name='sample1.txt', type='BlobArtifact',         
                             value=b'This is the content of sample1.txt',       
                             dir='')]                                           
[09/12/23 12:08:10] INFO     Task 16a1ce1847284ae3805485bad7d99116              
                             Output: The content of the file "sample1.txt" is   
                             "This is the content of sample1.txt".