code: from llama_index_manager import LLAMA_Index_Manager
  from llama_index import SimpleDirectoryReader
  
  manager = LLAMA_Index_Manager('vigilant-yeti-400300', 'oi-hackathon', 'blah/blah/eriks_vector_index')
  
  # Retrieve vector store (If you put a path that doesen't exist, it will return a new empty index)
  index = manager.retrieve_index_from_gcs()
  
  # Add docs from local directory
  documents = SimpleDirectoryReader('./test_library', recursive=True).load_data()
  for doc in documents:
      index.insert(doc)
      
  # Save index persistently back to gcs
  manager.save_index_to_gcs_from_local(index, 'oi-hackathon', 'blah/blah/eriks_vector_index')
  
  print(manager.retrieve_context([{ 'message': 'What is the use of Gaussian Micture Models here?' }]))
  # Now you can retrieve the index from the gcs path again whenever you want and continue adding docs to it and retrieving context from it.
apis: llama_index_manager.LLAMA_Index_Manager llama_index.SimpleDirectoryReader
extract_api: [((109, 204), 'llama_index_manager.LLAMA_Index_Manager', 'LLAMA_Index_Manager', (['"""vigilant-yeti-400300"""', '"""oi-hackathon"""', '"""blah/blah/eriks_vector_index"""'], {}), "('vigilant-yeti-400300', 'oi-hackathon',\n    'blah/blah/eriks_vector_index')\n", (128, 204), False, 'from llama_index_manager import LLAMA_Index_Manager\n'), ((387, 442), 'llama_index.SimpleDirectoryReader', 'SimpleDirectoryReader', (['"""./test_library"""'], {'recursive': '(True)'}), "('./test_library', recursive=True)\n", (408, 442), False, 'from llama_index import SimpleDirectoryReader\n')]