Interface: HybridRetrieverOptions
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:63
Options for constructing a HybridRetriever.
Properties
bm25Config?
optionalbm25Config:BM25Config
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:66
BM25 config (k1, b, optional tokenizer). Defaults match BM25Index.
defaultDenseWeight?
optionaldefaultDenseWeight:number
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:94
Default dense weight in RRF.
Default
0.7
defaultRrfK?
optionaldefaultRrfK:number
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:98
Default RRF constant.
Default
60
defaultSparseWeight?
optionaldefaultSparseWeight:number
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:96
Default sparse weight in RRF.
Default
0.3
factGraphQueryClassifier?
optionalfactGraphQueryClassifier:FactGraphQueryClassifier
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:117
Step-9: optional query classifier. Given the user's query, returns
(subject, predicate) pairs to look up in the factStore,
plus whether the query is temporal (in which case ALL facts for a
subject are prepended, not just the latest). When absent and
factStore is set, a keyword-based default is used.
factStore?
optionalfactStore:FactStore
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:109
Step-9: optional FactStore of (subject, predicate) → Fact[]
tuples extracted at session-ingest time. When present AND the query
classifier extracts at least one (subject, predicate) pair from
the query, the latest fact per pair is prepended as a synthetic
ScoredMemoryTrace (retrievalScore: 1.0, sourceType:
'fact_graph') to the merged pool BEFORE rerank. Preserves literal
object tokens where summary-based approaches (Steps 5/7/8)
paraphrased them away.
hydeRetriever?
optionalhydeRetriever:HydeRetriever
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:82
Optional HyDE retriever for query expansion (Step 4). When set,
each retrieve() call generates a hypothesis and uses it as the
query for BOTH dense (memoryStore.query) and sparse
(bm25.search). The reranker continues to use the ORIGINAL user
query so it scores documents against real user intent, not the
hypothesis. HyDE generation is non-critical — errors fall back
to the raw query without aborting retrieval.
memoryStore
memoryStore:
MemoryStore
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:64
rerankerService?
optionalrerankerService:RerankerService
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:72
Optional neural reranker. When provided, the merged pool is reranked before truncation. Passing the same reranker the baseline uses is the matched-ablation path.
splitAmbiguousThreshold?
optionalsplitAmbiguousThreshold:number
Defined in: packages/agentos/src/memory/retrieval/hybrid/HybridRetriever.ts:92
Step-6: enable split-on-ambiguous rerank refinement. When set to a value in (0, 1], the bottom fraction of traces by first-pass rerank score are split at sentence boundaries, rescored with a second rerank call (same query), and replaced by their better half ONLY IF the better half outscores the original. Monotonic.
Default: undefined (no split, Step 3 behavior preserved).