Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity among selected documents.
max_marginal_relevance_search_by_vector(
self,
embedding: List[float],
k: int = 4,
fetch_k: int = 20,
lambda_mult: float = 0.5,
pre_filter: Optional[Dict[str, Any]] = None,
post_filter_pipeline: Optional[List[Dict]] = None,
oversampling_factor: int = 10,
**kwargs: Any = {}
) -> List[Document]| Name | Type | Description |
|---|---|---|
embedding* | List[float] | Embedding to look up documents similar to. |
k | int | Default: 4Number of Documents to return. Defaults to 4. |
fetch_k | int | Default: 20Number of Documents to fetch to pass to MMR algorithm. |
lambda_mult | float | Default: 0.5Number between 0 and 1 that determines the degree of diversity among the results with 0 corresponding to maximum diversity and 1 to minimum diversity. Defaults to 0.5. |
pre_filter | Optional[Dict[str, Any]] | Default: None(Optional) dictionary of arguments to filter document fields on. |
post_filter_pipeline | Optional[List[Dict]] | Default: None(Optional) pipeline of MongoDB aggregation stages following the vectorSearch stage. |
oversampling_factor | int | Default: 10Multiple of k used when generating number of candidates in HNSW Vector Search, |
kwargs | Any | Default: {}Additional arguments are specific to the search_type |