Home / Function/ search() — langchain Function Reference

search() — langchain Function Reference

Architecture documentation for the search() function in base.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  bacd4785_4aaa_2a48_7d2a_aaff3f343f40["search()"]
  6c336ac6_f55c_1ad7_6db3_73dbd71fb625["VectorStore"]
  bacd4785_4aaa_2a48_7d2a_aaff3f343f40 -->|defined in| 6c336ac6_f55c_1ad7_6db3_73dbd71fb625
  b807f806_ea44_9207_6e3f_cb2be8d2e638["similarity_search()"]
  bacd4785_4aaa_2a48_7d2a_aaff3f343f40 -->|calls| b807f806_ea44_9207_6e3f_cb2be8d2e638
  42fc6116_575b_3b3d_aef3_7429e8fbe07e["similarity_search_with_relevance_scores()"]
  bacd4785_4aaa_2a48_7d2a_aaff3f343f40 -->|calls| 42fc6116_575b_3b3d_aef3_7429e8fbe07e
  e6447f07_ba7b_8372_40bb_6d29265eb1a8["max_marginal_relevance_search()"]
  bacd4785_4aaa_2a48_7d2a_aaff3f343f40 -->|calls| e6447f07_ba7b_8372_40bb_6d29265eb1a8
  style bacd4785_4aaa_2a48_7d2a_aaff3f343f40 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/vectorstores/base.py lines 293–324

    def search(self, query: str, search_type: str, **kwargs: Any) -> list[Document]:
        """Return docs most similar to query using a specified search type.

        Args:
            query: Input text.
            search_type: Type of search to perform.

                Can be `'similarity'`, `'mmr'`, or `'similarity_score_threshold'`.
            **kwargs: Arguments to pass to the search method.

        Returns:
            List of `Document` objects most similar to the query.

        Raises:
            ValueError: If `search_type` is not one of `'similarity'`,
                `'mmr'`, or `'similarity_score_threshold'`.
        """
        if search_type == "similarity":
            return self.similarity_search(query, **kwargs)
        if search_type == "similarity_score_threshold":
            docs_and_similarities = self.similarity_search_with_relevance_scores(
                query, **kwargs
            )
            return [doc for doc, _ in docs_and_similarities]
        if search_type == "mmr":
            return self.max_marginal_relevance_search(query, **kwargs)
        msg = (
            f"search_type of {search_type} not allowed. Expected "
            "search_type to be 'similarity', 'similarity_score_threshold'"
            " or 'mmr'."
        )
        raise ValueError(msg)

Subdomains

Frequently Asked Questions

What does search() do?
search() is a function in the langchain codebase, defined in libs/core/langchain_core/vectorstores/base.py.
Where is search() defined?
search() is defined in libs/core/langchain_core/vectorstores/base.py at line 293.
What does search() call?
search() calls 3 function(s): max_marginal_relevance_search, similarity_search, similarity_search_with_relevance_scores.

Analyze Your Own Codebase

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

Try Supermodel Free