codenib.ops.retrieve
¶
Classes:
| Name | Description |
|---|---|
RetrieveContext |
Handles backing indexes for retrieval operations. |
Functions:
| Name | Description |
|---|---|
to_queried_nodes |
Normalize retrieval results to QueriedNode list. |
merge_hybrid |
Merge multiple retrieval branches with weighted scoring or RRF. |
merge_file_rankings |
Fuse ranked branches by unique file using weighted RRF. |
queried_node_key |
Stable identity for deduping candidate nodes across pipeline stages. |
queried_file_key |
Stable file identity across relative graph and absolute index paths. |
dedup_queried_nodes |
Deduplicate nodes while preserving first-seen rank order. |
dedup_queried_files |
Keep the first representative node for each stable file identity. |
RetrieveContext
dataclass
¶
RetrieveContext(
bm25: BM25CodeIndexer | None = None,
vector_store: CodeVectorStore | None = None,
regex_index: RegexNodeIndex | None = None,
default_top_k: int = 10,
default_level: str = "l2",
masks: dict[str, set[str]] = dict(),
)
Handles backing indexes for retrieval operations.
to_queried_nodes
¶
to_queried_nodes(results: Sequence[object]) -> list[QueriedNode]
Normalize retrieval results to QueriedNode list.
Source code in codenib/ops/retrieve.py
merge_hybrid
¶
merge_hybrid(
branches: list[list[QueriedNode]],
weights: list[float] | None = None,
top_k: int | None = None,
*,
fusion: str = "weighted",
rrf_k: int = 60
) -> list[QueriedNode]
Merge multiple retrieval branches with weighted scoring or RRF.
Source code in codenib/ops/retrieve.py
merge_file_rankings
¶
merge_file_rankings(
branches: list[list[QueriedNode]],
weights: list[float] | None = None,
top_k: int | None = None,
*,
rrf_k: int = 60
) -> list[QueriedNode]
Fuse ranked branches by unique file using weighted RRF.
Each branch contributes at most once per file. Stable relative file names
embedded in node_id take precedence over machine-specific absolute
paths, which keeps graph and vector artifacts comparable across snapshots.
Source code in codenib/ops/retrieve.py
queried_node_key
¶
queried_node_key(item: QueriedNode) -> tuple[Any, ...]
Stable identity for deduping candidate nodes across pipeline stages.
Source code in codenib/ops/retrieve.py
queried_file_key
¶
queried_file_key(item: QueriedNode) -> tuple[Any, ...]
Stable file identity across relative graph and absolute index paths.
Source code in codenib/ops/retrieve.py
dedup_queried_nodes
¶
dedup_queried_nodes(nodes: Sequence[QueriedNode]) -> list[QueriedNode]
Deduplicate nodes while preserving first-seen rank order.
Retrieval pipelines often concatenate dense hits with graph-expanded neighbors. The dense order is the ranking signal; duplicates should not consume multiple top-k slots. If a later duplicate carries code content and the first copy does not, keep the first rank but attach the content.
Source code in codenib/ops/retrieve.py
dedup_queried_files
¶
dedup_queried_files(nodes: Sequence[QueriedNode]) -> list[QueriedNode]
Keep the first representative node for each stable file identity.