Hello Neo4j Community,
I am currently working with Neo4j GraphRAG and exploring its capabilities for multi-vector index retrieval in an LLM-powered system. I have referred to the official documentation (Neo4j GraphRAG User Guide), which demonstrates how to use a single vector index with VectorRetriever . However, I need clarification on using multiple vector indexes in a single query.
Questions:
- Does Neo4j GraphRAG natively support querying multiple vector indexes simultaneously?
- If yes, what is the recommended approach?
- If not, is there a roadmap for adding this feature?
- The
MultiVectorRetrieverclass appears in the library but is not mentioned in the documentation.
- Is this officially supported? If so, how should it be used?
- What is the best practice for querying multiple indexes?
- I am currently initializing multiple
VectorRetrieverinstances (one per index) and manually merging the results before passing them toGraphRAG. - Is this the best way to handle multiple indexes, or is there an alternative method?
- Does Neo4j support hybrid retrieval combining multiple vector indexes with full-text search?
- If yes, how can we efficiently merge the results?
Context:
- I am using SentenceTransformers for embeddings.
- My LLM is Mistral.
- I have three different vector indexes (transactions, accounts, illicit transactions) that I want to search across simultaneously.
Any guidance, best practices, or code examples would be greatly appreciated. Thanks in advance! ![]()