Hybrid BM25 + dense retriever.
const hybrid = new HybridRetriever({ memoryStore, rerankerService });// At ingest:hybrid.bm25.addDocument(trace.id, trace.content, { tag: 'bench-session:s-1' });// At query time:const result = await hybrid.retrieve( 'What did the user say about their mortgage?', { valence: 0, arousal: 0, dominance: 0 }, { scope: 'user', scopeId: 'u1' }, { recallTopK: 10 },); Copy
const hybrid = new HybridRetriever({ memoryStore, rerankerService });// At ingest:hybrid.bm25.addDocument(trace.id, trace.content, { tag: 'bench-session:s-1' });// At query time:const result = await hybrid.retrieve( 'What did the user say about their mortgage?', { valence: 0, arousal: 0, dominance: 0 }, { scope: 'user', scopeId: 'u1' }, { recallTopK: 10 },);
Readonly
Hybrid BM25 + dense retriever.
Example