FileTools enable an Assistant to read and write files on the local file system.

Example

The following assistant will generate an answer and save it in a file.

cookbook/tools/file_tools.py
from phi.assistant import Assistant
from phi.tools.file import FileTools

assistant = Assistant(tools=[FileTools()], show_tool_calls=True)
assistant.print_response("What is the most advanced LLM currently? Save the answer to a file.", markdown=True)

Toolkit Params

base_dir
Path

Specifies the base directory path for file operations.

save_files
bool
default: "True"

Determines whether files should be saved during the operation.

read_files
bool
default: "True"

Allows reading from files during the operation.

list_files
bool
default: "True"

Enables listing of files in the specified directory.

Toolkit Functions

save_file

Saves the contents to a file called file_name and returns the file name if successful.

read_file

Reads the contents of the file file_name and returns the contents if successful.

list_files

Returns a list of files in the base directory