I want to create a self-rag that manages documents in a vector database. It can add new information, update old information, if it notices a discrepancy with the old information, it clarifies which option is correct and then either makes changes or leaves everything as is, and generally improves as an assistant. I created a regular rag (weaviate, langchain) with memory through a MemorySaver but I don't know where to go next. Can anyone tell me what to look for?