SYMBOL INDEX (20 symbols across 3 files) FILE: app/components/sidebar.py function sidebar (line 6) | def sidebar(): FILE: app/s3.py class S3 (line 7) | class S3: method __init__ (line 30) | def __init__(self, bucket_name): method list_folders (line 35) | def list_folders(self): method list_files (line 42) | def list_files(self): method folder_exists (line 53) | def folder_exists(self, folder_name): method file_exists (line 58) | def file_exists(self, folder_name, file_name): method create_folder (line 68) | def create_folder(self, folder_name): method upload_files (line 72) | def upload_files(self, file_obj, file_path): method remove_folder (line 75) | def remove_folder(self, folder_name): method remove_file (line 80) | def remove_file(self, folder_name, file_name): method download_file (line 86) | def download_file(self, from_file_path, to_file_path): FILE: app/utils.py function parse_pdf (line 40) | def parse_pdf(file: BytesIO): function create_index (line 59) | def create_index(pdf_obj, folder_name, file_name): function get_index (line 84) | def get_index(folder_name, file_name): function query_gpt (line 110) | def query_gpt(chosen_class, chosen_pdf, query): function create_tool (line 133) | def create_tool(_index, chosen_pdf): function create_agent (line 147) | def create_agent(chosen_class, chosen_pdf): function query_gpt_memory (line 161) | def query_gpt_memory(chosen_class, chosen_pdf, query): function show_pdf (line 181) | def show_pdf(folder_name, file_name):