-
Notifications
You must be signed in to change notification settings - Fork 125
Open
Description
Thanks for adding GraphRAG to RAGbuilder.
I had some questions and suggestions, perhaps you want to chat some time.
- QQ: in graphrag.full_retriever you fetch the vector store data but don't use it in the method or the returns, looks redundant?
def full_retriever(question: str):
graph_data = graph_retriever(question)
vector_data = [el.page_content for el in vector_retriever.invoke(question)]
final_data = f'''Graph data:
{graph_data}
'''
return final_data- You don't make use of the built in neo4j vector search only the fulltext index - with the vector search you can allow in-graph vector and hybrid search? (you can create vector indexes both for chunks in the lexical graph, for entities in the domain graph and for communities in the topical structures)
- right now the graph retriever only uses the direct neighbourhood of the nodes, this could be a good hyperparameter to add
- e.g. we have a number of different retrievers in the llm-graph-builder, see: https://github.com/neo4j-labs/llm-graph-builder/blob/DEV/backend/src/shared/constants.py
- I saw you copied some code from the neo4j-langchain integrations? Was there a reason (i.e. did you make modifications - if so it might be good to discuss to rather contribute them back upstream?)
- there is the option to run clustering algorithms to generate cross-document topic summaries across the entity graphs (like in the MSFT GraphRAG paper), see https://neo4j.com/developer-blog/global-graphrag-neo4j-langchain/ (we've also implemented that in https://llm-graph-builder.neo4jlabs.com if you have a graph data science enabled database).
We have documented more GraphRAG patterns, here just in case you want to share your RAG patterns to the catalogue or provide some feedback:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels