This is an interesting use case, thanks for raising.
Currently GPT Index supports building the index from scratch, and manual insertion of documents - it doesn't support deletions or updates at the moment (definitely a TODO we can work on).
Another option you can try right now is to store your documents and embeddings in Weaviate (or store embeddings in Pinecone/Faiss), and then manually update embeddings in those document stores when embeddings change. You can then use our data loader to 1) connect to this data store, and 2) optionally specify an embedding to fetch the top-k most similar documents, and 3) feed these documents into GPT Index.
Of course there will be a bit of engineering work with the second approach. Will keep you posted when we do support updates/deletions!
https://github.com/jerryjliu/gpt_index/blob/main/examples/data_connectors/WeaviateDemo.ipynb