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)
Domain
Subdomains
Source
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