Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Langchain ai Langchain Chroma Max Marginal Relevance Search

From Leeroopedia
Revision as of 11:24, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Langchain_ai_Langchain_Chroma_Max_Marginal_Relevance_Search.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Information_Retrieval, Vector_Search
Last Updated 2026-02-11 00:00 GMT

Overview

Concrete tool for performing MMR search against a Chroma vector store provided by the LangChain Chroma integration.

Description

The Chroma.max_marginal_relevance_search() method first fetches fetch_k candidate documents by similarity, then applies the MMR algorithm to select k results that balance relevance with diversity. The lambda_mult parameter (0.0 to 1.0) controls this balance.

Usage

Use instead of similarity_search() when you need diverse results, particularly for RAG contexts.

Code Reference

Source Location

  • Repository: langchain
  • File: libs/partners/chroma/langchain_chroma/vectorstores.py
  • Lines: L1075-1122

Signature

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,
    where_document: dict[str, str] | None = None,
    **kwargs: Any,
) -> list[Document]:

Import

from langchain_chroma import Chroma

I/O Contract

Inputs

Name Type Required Description
query str Yes Search query
k int No (default: 4) Final results count
fetch_k int No (default: 20) Initial candidates to fetch
lambda_mult float No (default: 0.5) Diversity/relevance balance (0=diversity, 1=relevance)
filter dict or None No Metadata filter

Outputs

Name Type Description
return list[Document] Top-k documents selected via MMR

Usage Examples

MMR Search

# Diverse results (more diversity)
results = vectorstore.max_marginal_relevance_search(
    "machine learning applications",
    k=5,
    fetch_k=20,
    lambda_mult=0.3,  # Favor diversity
)

# Relevant results (more relevance)
results = vectorstore.max_marginal_relevance_search(
    "machine learning applications",
    k=5,
    fetch_k=20,
    lambda_mult=0.8,  # Favor relevance
)

Related Pages

Implements Principle

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment