Skip to main content

Example

The following agent will generate an answer and save it in a file.
cookbook/14_tools/file_tools.py
from agno.agent import Agent
from agno.tools.file import FileTools

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

Toolkit Params

ParameterTypeDefaultDescription
base_dirPathNoneSpecifies the base directory path for file operations
enable_save_fileboolTrueEnables functionality to save files
enable_delete_fileboolFalseEnables functionality to delete files
enable_read_fileboolTrueEnables functionality to read files
enable_read_file_chunkboolTrueEnables functionality to read files in line ranges
enable_replace_file_chunkboolTrueEnables functionality to update files in line ranges
enable_list_filesboolTrueEnables functionality to list files in directories
enable_search_filesboolTrueEnables functionality to search for files by glob pattern
enable_search_contentboolTrueEnables functionality to search inside file contents
allboolFalseEnables all functionality when set to True
expose_base_directoryboolFalseAdds base_directory to the tool responses if set to True
max_file_lengthint10000000Maximum file length to read in bytes. Reading fails if the file is larger.
max_file_linesint100000Maximum number of lines to read from a file. Reading fails if the file has more lines.
line_separatorstr"\n"The separator to use when interacting with file chunks.

Toolkit Functions

NameDescription
save_fileSaves the contents to a file called file_name and returns the file name if successful.
read_fileReads the contents of the file file_name and returns the contents if successful.
read_file_chunkReads selected lines from file_name (start_line to end_line).
replace_file_chunkReplaces a selected line range in file_name.
delete_fileDeletes the file file_name if successful.
list_filesReturns a list of files in the base directory
search_filesSearches for files by glob pattern (for example **/*.py).
search_contentSearches text file contents and returns matching files with snippets.

Developer Resources