Home / Function/ max_marginal_relevance_search_by_vector() — langchain Function Reference

max_marginal_relevance_search_by_vector() — langchain Function Reference

Architecture documentation for the max_marginal_relevance_search_by_vector() function in in_memory.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  46149650_f391_363a_8f1e_77ac7a08dff4["max_marginal_relevance_search_by_vector()"]
  6e491709_d60f_689d_8a1a_c760b54fd120["InMemoryVectorStore"]
  46149650_f391_363a_8f1e_77ac7a08dff4 -->|defined in| 6e491709_d60f_689d_8a1a_c760b54fd120
  57fbb94b_1cdd_dbfd_8072_ebe41024abc9["max_marginal_relevance_search()"]
  57fbb94b_1cdd_dbfd_8072_ebe41024abc9 -->|calls| 46149650_f391_363a_8f1e_77ac7a08dff4
  25444c39_d615_fb5a_3196_9dc255efdff7["amax_marginal_relevance_search()"]
  25444c39_d615_fb5a_3196_9dc255efdff7 -->|calls| 46149650_f391_363a_8f1e_77ac7a08dff4
  22419bdc_697d_ae67_2f59_ca88dc465acc["_similarity_search_with_score_by_vector()"]
  46149650_f391_363a_8f1e_77ac7a08dff4 -->|calls| 22419bdc_697d_ae67_2f59_ca88dc465acc
  style 46149650_f391_363a_8f1e_77ac7a08dff4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/vectorstores/in_memory.py lines 419–448

    def max_marginal_relevance_search_by_vector(
        self,
        embedding: list[float],
        k: int = 4,
        fetch_k: int = 20,
        lambda_mult: float = 0.5,
        *,
        filter: Callable[[Document], bool] | None = None,
        **kwargs: Any,
    ) -> list[Document]:
        prefetch_hits = self._similarity_search_with_score_by_vector(
            embedding=embedding,
            k=fetch_k,
            filter=filter,
        )

        if not _HAS_NUMPY:
            msg = (
                "numpy must be installed to use max_marginal_relevance_search "
                "pip install numpy"
            )
            raise ImportError(msg)

        mmr_chosen_indices = maximal_marginal_relevance(
            np.array(embedding, dtype=np.float32),
            [vector for _, _, vector in prefetch_hits],
            k=k,
            lambda_mult=lambda_mult,
        )
        return [prefetch_hits[idx][0] for idx in mmr_chosen_indices]

Subdomains

Frequently Asked Questions

What does max_marginal_relevance_search_by_vector() do?
max_marginal_relevance_search_by_vector() is a function in the langchain codebase, defined in libs/core/langchain_core/vectorstores/in_memory.py.
Where is max_marginal_relevance_search_by_vector() defined?
max_marginal_relevance_search_by_vector() is defined in libs/core/langchain_core/vectorstores/in_memory.py at line 419.
What does max_marginal_relevance_search_by_vector() call?
max_marginal_relevance_search_by_vector() calls 1 function(s): _similarity_search_with_score_by_vector.
What calls max_marginal_relevance_search_by_vector()?
max_marginal_relevance_search_by_vector() is called by 2 function(s): amax_marginal_relevance_search, max_marginal_relevance_search.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free