-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to add new data on top of the exisiting indexed data by graph RAG #360
Comments
Do you mean by updating an already indexed document, or by adding new ones? Adding new ones work and will just index the added doc. I have not tried updating an existing document. The question could also be expanded as can you remove an indexed document be deleting it from the input folder. |
Yep adding new docs on an already indexed system. Yes we would need upsert and remove stuff. but for starters upsert would be great. |
Adding new documents to the input folder will trigger indexing for those new documents. However, it will not index existing ones. Be aware that existing communities might get re-generated each time you add new documents, which can be time-consuming and consume valuable LLM credits. It would be beneficial to have an option to create only new communities and skip reprocessing existing ones, allowing users to decide when to update existing community summaries. This approach would save significant LLM processing and cost, at the expense of a slight decrease in precision. Personally, I prefer quickly indexing new documents, creating any necessary new communities, and then, at the end of the day, allowing the system to rebuild existing communities if needed based on the new documents added. |
We cant regenerate a new parquet file and communities when I just added a file when I have 1000s of files preprocessed. |
I totally agree. Even with 10 files it quickly become super combersome and lenghty everytime a new file is added to the mix. The claim_extraction has an Would prevent new community from being created... so perhaps not optimal... Maybe a new optional variable called |
Hi, I've been playing a bit with graphrag changing specially the way LLM calls to increase concurrent requests and support my own inference class. I cannot fork and PR because I've already changed too much, but I had a couple ideas I could validate for this idea:
@bmaltais @CraftsMan-Labs you guys seem the only ones interested in this with me, as I said before, I do not have time to make a PR but I could upload code blocks with these ideas, so we can validate together, interested? |
I think let's do it. But i need more details on how ur doing the upsert after reading all the community details |
When I add a new document and use the usual index method, it looks like it is recreating everything from scratch, it creates new artifacts/parquet files with both documents, which part @bmaltais is not redone in your opinion? |
It will not reprocess all documents… but adding new documents will lead to needing to update a lot of existing claims and community notes… and those are what will take the bulk of the time. |
Thank you for making it clearer. Can you point me to the code, I went through the index module and couldn't spot the moment we do a diff or so on the documents? |
I have a similar question. I performed two insertions of data into the same graphrag, which resulted in the creation of two different folders containing .parquet files. Where does the local search look for data? Which of the two folders should I use for the notebook examples involving local search? |
Consolidating index update requests with #741 |
No description provided.
The text was updated successfully, but these errors were encountered: