max_marginal_relevance_search() — langchain Function Reference
Architecture documentation for the max_marginal_relevance_search() function in vectorstores.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 30c96097_3740_4ac0_c651_e0cc5eacf83c["max_marginal_relevance_search()"] babbef04_3a0c_25f4_58a8_9d3209d5867e["Chroma"] 30c96097_3740_4ac0_c651_e0cc5eacf83c -->|defined in| babbef04_3a0c_25f4_58a8_9d3209d5867e bb3acbcf_8fa2_3d2c_a026_5518a8745385["max_marginal_relevance_search_by_vector()"] 30c96097_3740_4ac0_c651_e0cc5eacf83c -->|calls| bb3acbcf_8fa2_3d2c_a026_5518a8745385 style 30c96097_3740_4ac0_c651_e0cc5eacf83c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/chroma/langchain_chroma/vectorstores.py lines 1075–1122
def max_marginal_relevance_search(
self,
query: str,
k: int = DEFAULT_K,
fetch_k: int = 20,
lambda_mult: float = 0.5,
filter: dict[str, str] | None = None, # noqa: A002
where_document: dict[str, str] | None = None,
**kwargs: Any,
) -> list[Document]:
"""Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents.
Args:
query: Text to look up documents similar to.
k: Number of Documents to return.
fetch_k: Number of Documents to fetch to pass to MMR algorithm.
lambda_mult: Number between `0` and `1` that determines the degree
of diversity among the results with `0` corresponding
to maximum diversity and `1` to minimum diversity.
filter: Filter by metadata.
where_document: dict used to filter by the document contents.
e.g. `{"$contains": "hello"}`.
kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns:
List of `Document` objects selected by maximal marginal relevance.
Raises:
ValueError: If the embedding function is not provided.
"""
if self._embedding_function is None:
msg = "For MMR search, you must specify an embedding function on creation."
raise ValueError(
msg,
)
embedding = self._embedding_function.embed_query(query)
return self.max_marginal_relevance_search_by_vector(
embedding,
k,
fetch_k,
lambda_mult=lambda_mult,
filter=filter,
where_document=where_document,
)
Domain
Subdomains
Source
Frequently Asked Questions
What does max_marginal_relevance_search() do?
max_marginal_relevance_search() is a function in the langchain codebase, defined in libs/partners/chroma/langchain_chroma/vectorstores.py.
Where is max_marginal_relevance_search() defined?
max_marginal_relevance_search() is defined in libs/partners/chroma/langchain_chroma/vectorstores.py at line 1075.
What does max_marginal_relevance_search() call?
max_marginal_relevance_search() calls 1 function(s): max_marginal_relevance_search_by_vector.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free