Implementing Drift Search with Neo4j and LlamaIndex
14 days ago
- #Neo4j
- #DRIFT Search
- #GraphRAG
- Microsoft’s GraphRAG combines indexing and query-time capabilities for thematic question answering.
- DRIFT search (Dynamic Reasoning and Inference with Flexible Traversal) balances global and local search methods.
- DRIFT starts with community-level context via vector search, then refines queries for detailed follow-ups.
- Implementation uses LlamaIndex workflows, including HyDE generation for improved query representation.
- Community search identifies relevant reports, generates intermediate answers, and spawns follow-up queries.
- Local search retrieves targeted info (text chunks, entities, relationships) in parallel, iteratively deepening.
- Final answer synthesis combines broad community insights with detailed local findings.
- Dataset: 'Alice’s Adventures in Wonderland' used for its rich narrative and interconnected elements.
- Ingestion pipeline includes entity extraction, summarization, and community embedding generation.
- Potential improvements: filtering intermediate answers, ranking follow-up queries, and query refinement.