Data flow through the three options — from document to answer.
flowchart TD
docs["Documents"]
chunk["Chunk & Embed"]
vector[("Vector Store
LanceDB Enterprise")]
query["User Query"]
embed["Embed Query"]
similarity["Similarity Search
cosine distance"]
retrieved["Retrieved Chunks
top-k"]
llm["LLM"]
answer["Answer"]
docs --> chunk
chunk --> vector
query --> embed
embed --> similarity
vector --> similarity
similarity --> retrieved
retrieved --> llm
llm --> answer
class docs,chunk,embed,similarity,retrieved roseNode
class vector roseStore
class query roseNode
class llm llmNode
class answer answerNode
flowchart TD
docs["Documents"]
subgraph dense["Dense Path"]
chunk["Chunk & Embed"]
vector[("Vector Store")]
end
subgraph sparse["Sparse Path"]
bm25["BM25 Index"]
keyword[("Keyword Index")]
end
query["User Query"]
embed["Embed Query"]
kwquery["Keyword Query"]
vresults["Vector Results"]
kresults["Keyword Results"]
fusion["Fusion RRF
Reciprocal Rank Fusion"]
rerank["Cross-encoder Rerank
relevance scoring"]
llm["LLM"]
answer["Answer"]
docs --> chunk & bm25
chunk --> vector
bm25 --> keyword
query --> embed & kwquery
embed --> vresults
kwquery --> kresults
vector --> vresults
keyword --> kresults
vresults --> fusion
kresults --> fusion
fusion --> rerank
rerank --> llm
llm --> answer
class docs,chunk,embed,kwquery,vresults,kresults blueNode
class vector,keyword blueStore
class bm25,query blueNode
class fusion fusionNode
class rerank blueNode
class llm llmNode
class answer answerNode
flowchart TD
docs["Documents"]
kg[("Knowledge Graph
entities & relations")]
subgraph dense2["Dense Path"]
chunk2["Chunk & Embed"]
vector2[("Vector Store")]
end
subgraph sparse2["Sparse Path"]
bm252["BM25 Index"]
keyword2[("Keyword Index")]
end
query2["User Query"]
prefilter{"KG Pre-filter
dates, parties,
jurisdictions, amounts"}
vfiltered["Filtered Vector
Results"]
kfiltered["Filtered Keyword
Results"]
fusion2["Fusion RRF"]
rerank2["Cross-encoder Rerank"]
llm2["LLM"]
answer2["Answer"]
verify{"KG Hallucination
Verification
entity grounding"}
verified["Verified Answer"]
escalate["Human Escalation"]
docs --> chunk2 & bm252
chunk2 --> vector2
bm252 --> keyword2
query2 --> prefilter
kg --> prefilter
prefilter --> vfiltered & kfiltered
vector2 --> vfiltered
keyword2 --> kfiltered
vfiltered --> fusion2
kfiltered --> fusion2
fusion2 --> rerank2
rerank2 --> llm2
llm2 --> answer2
answer2 --> verify
kg --> verify
verify -->|"passes"| verified
verify -->|"fails"| escalate
class docs,chunk2,bm252,query2,vfiltered,kfiltered,rerank2 violetNode
class vector2,keyword2 violetStore
class prefilter,verify violetDiamond
class kg kgNode
class fusion2 fusionNode
class llm2 llmNode
class verified answerNode
class escalate roseNode
Which architecture fits where