Home / Function/ max_marginal_relevance_search() — langchain Function Reference

max_marginal_relevance_search() — langchain Function Reference

Architecture documentation for the max_marginal_relevance_search() function in qdrant.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  6c0af82c_cb1f_821f_efa9_a3c7b1a87425["max_marginal_relevance_search()"]
  671b47a0_cdd3_a89d_e90f_0631a4bd67d3["QdrantVectorStore"]
  6c0af82c_cb1f_821f_efa9_a3c7b1a87425 -->|defined in| 671b47a0_cdd3_a89d_e90f_0631a4bd67d3
  ee735a53_d6e2_76d0_6fad_19bdebf2f0f2["_validate_collection_for_dense()"]
  6c0af82c_cb1f_821f_efa9_a3c7b1a87425 -->|calls| ee735a53_d6e2_76d0_6fad_19bdebf2f0f2
  301071b8_045d_6589_e8d8_41bad61e4260["_require_embeddings()"]
  6c0af82c_cb1f_821f_efa9_a3c7b1a87425 -->|calls| 301071b8_045d_6589_e8d8_41bad61e4260
  f70b258f_7085_17ed_46c4_07fbcbea68c1["max_marginal_relevance_search_by_vector()"]
  6c0af82c_cb1f_821f_efa9_a3c7b1a87425 -->|calls| f70b258f_7085_17ed_46c4_07fbcbea68c1
  style 6c0af82c_cb1f_821f_efa9_a3c7b1a87425 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/qdrant/langchain_qdrant/qdrant.py lines 728–769

    def max_marginal_relevance_search(
        self,
        query: str,
        k: int = 4,
        fetch_k: int = 20,
        lambda_mult: float = 0.5,
        filter: models.Filter | None = None,  # noqa: A002
        search_params: models.SearchParams | None = None,
        score_threshold: float | None = None,
        consistency: models.ReadConsistency | None = None,
        **kwargs: Any,
    ) -> list[Document]:
        """Return docs selected using the maximal marginal relevance with dense vectors.

        Maximal marginal relevance optimizes for similarity to query AND diversity
        among selected documents.

        Returns:
            List of `Document` objects selected by maximal marginal relevance.

        """
        self._validate_collection_for_dense(
            self.client,
            self.collection_name,
            self.vector_name,
            self.distance,
            self.embeddings,
        )

        embeddings = self._require_embeddings("max_marginal_relevance_search")
        query_embedding = embeddings.embed_query(query)
        return self.max_marginal_relevance_search_by_vector(
            query_embedding,
            k=k,
            fetch_k=fetch_k,
            lambda_mult=lambda_mult,
            filter=filter,
            search_params=search_params,
            score_threshold=score_threshold,
            consistency=consistency,
            **kwargs,
        )

Domain

Subdomains

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/qdrant/langchain_qdrant/qdrant.py.
Where is max_marginal_relevance_search() defined?
max_marginal_relevance_search() is defined in libs/partners/qdrant/langchain_qdrant/qdrant.py at line 728.
What does max_marginal_relevance_search() call?
max_marginal_relevance_search() calls 3 function(s): _require_embeddings, _validate_collection_for_dense, 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