Retrieval Module
The Retrieval module provides concrete implementations of retrieval strategies for finding relevant documents from vector stores.Import
Quick Example
Features
- Multiple retrieval strategies (Basic, Fusion, Recursive, AutoMerge)
- Reciprocal Rank Fusion for multi-query retrieval
- LLM-powered query expansion
- Recursive depth-limited retrieval
- Adjacent chunk merging for context
Classes
BasicRetriever
Simple vector similarity retrieval.
| Parameter | Type | Default | Description |
|---|---|---|---|
vector_store | Any | Required | Vector store instance |
embedding_fn | Callable | Required | Function to generate embeddings |
top_k | int | 10 | Default number of results |
FusionRetriever
Multi-query retrieval with Reciprocal Rank Fusion (RRF).
| Parameter | Type | Default | Description |
|---|---|---|---|
vector_store | Any | Required | Vector store instance |
embedding_fn | Callable | Required | Embedding function |
llm | Any | None | LLM for query variations |
num_queries | int | 3 | Number of query variations |
top_k | int | 10 | Results per query |
rrf_k | int | 60 | RRF constant |
RecursiveRetriever
Depth-limited recursive retrieval with follow-up queries.
| Parameter | Type | Default | Description |
|---|---|---|---|
vector_store | Any | Required | Vector store instance |
embedding_fn | Callable | Required | Embedding function |
llm | Any | None | LLM for follow-up queries |
max_depth | int | 2 | Maximum recursion depth |
top_k | int | 10 | Results to return |
AutoMergeRetriever
Retrieves and merges adjacent chunks from the same document.
| Parameter | Type | Default | Description |
|---|---|---|---|
vector_store | Any | Required | Vector store instance |
embedding_fn | Callable | Required | Embedding function |
top_k | int | 10 | Results to return |
max_gap | int | 1 | Max gap between chunks to merge |
Methods
retrieve(query, top_k=None, filter=None)
Retrieve documents matching the query.
Parameters:
query(str): Search querytop_k(int, optional): Override default result countfilter(dict, optional): Metadata filter
List[RetrievalResult] - Matching documents with scores
aretrieve(query, top_k=None, filter=None)
Async version of retrieve (calls sync internally).
Example: Fusion Retrieval with LLM
Strategy Selection Guide
| Use Case | Recommended Strategy |
|---|---|
| Simple factual queries | BasicRetriever |
| Complex multi-part questions | FusionRetriever |
| Hierarchical documents | RecursiveRetriever |
| Long document summarization | AutoMergeRetriever |
CLI Usage
Related
- Vector Store Module - Store documents
- Reranker Module - Rerank results
- Readers Module - Load documents

