Home / Function/ max_marginal_relevance_search_with_score_by_vector() — langchain Function Reference

max_marginal_relevance_search_with_score_by_vector() — langchain Function Reference

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

Function python LangChainCore Runnables calls 1 called by 1

Entity Profile

Dependency Diagram

graph TD
  365c8401_562f_37f6_22d0_d8da0ff6fb68["max_marginal_relevance_search_with_score_by_vector()"]
  671b47a0_cdd3_a89d_e90f_0631a4bd67d3["QdrantVectorStore"]
  365c8401_562f_37f6_22d0_d8da0ff6fb68 -->|defined in| 671b47a0_cdd3_a89d_e90f_0631a4bd67d3
  f70b258f_7085_17ed_46c4_07fbcbea68c1["max_marginal_relevance_search_by_vector()"]
  f70b258f_7085_17ed_46c4_07fbcbea68c1 -->|calls| 365c8401_562f_37f6_22d0_d8da0ff6fb68
  a55135fe_576d_57f4_200f_c6402baada22["_document_from_point()"]
  365c8401_562f_37f6_22d0_d8da0ff6fb68 -->|calls| a55135fe_576d_57f4_200f_c6402baada22
  style 365c8401_562f_37f6_22d0_d8da0ff6fb68 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/qdrant/langchain_qdrant/qdrant.py lines 805–854

    def max_marginal_relevance_search_with_score_by_vector(
        self,
        embedding: list[float],
        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[tuple[Document, float]]:
        """Return docs selected using the maximal marginal relevance.

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

        Returns:
            List of `Document` objects selected by maximal marginal relevance and
                distance for each.
        """
        results = self.client.query_points(
            collection_name=self.collection_name,
            query=models.NearestQuery(
                nearest=embedding,
                mmr=models.Mmr(diversity=lambda_mult, candidates_limit=fetch_k),
            ),
            query_filter=filter,
            search_params=search_params,
            limit=k,
            with_payload=True,
            with_vectors=True,
            score_threshold=score_threshold,
            consistency=consistency,
            using=self.vector_name,
            **kwargs,
        ).points

        return [
            (
                self._document_from_point(
                    result,
                    self.collection_name,
                    self.content_payload_key,
                    self.metadata_payload_key,
                ),
                result.score,
            )
            for result in results
        ]

Domain

Subdomains

Frequently Asked Questions

What does max_marginal_relevance_search_with_score_by_vector() do?
max_marginal_relevance_search_with_score_by_vector() is a function in the langchain codebase, defined in libs/partners/qdrant/langchain_qdrant/qdrant.py.
Where is max_marginal_relevance_search_with_score_by_vector() defined?
max_marginal_relevance_search_with_score_by_vector() is defined in libs/partners/qdrant/langchain_qdrant/qdrant.py at line 805.
What does max_marginal_relevance_search_with_score_by_vector() call?
max_marginal_relevance_search_with_score_by_vector() calls 1 function(s): _document_from_point.
What calls max_marginal_relevance_search_with_score_by_vector()?
max_marginal_relevance_search_with_score_by_vector() is called by 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