Home / Function/ _similarity_search_with_score_by_vector() — langchain Function Reference

_similarity_search_with_score_by_vector() — langchain Function Reference

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

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

libs/core/langchain_core/vectorstores/in_memory.py lines 291–332

    def _similarity_search_with_score_by_vector(
        self,
        embedding: list[float],
        k: int = 4,
        filter: Callable[[Document], bool] | None = None,  # noqa: A002
    ) -> list[tuple[Document, float, list[float]]]:
        # Get all docs with fixed order in list
        docs = list(self.store.values())

        if filter is not None:
            docs = [
                doc
                for doc in docs
                if filter(
                    Document(
                        id=doc["id"], page_content=doc["text"], metadata=doc["metadata"]
                    )
                )
            ]

        if not docs:
            return []

        similarity = cosine_similarity([embedding], [doc["vector"] for doc in docs])[0]

        # Get the indices ordered by similarity score
        top_k_idx = similarity.argsort()[::-1][:k]

        return [
            (
                Document(
                    id=doc_dict["id"],
                    page_content=doc_dict["text"],
                    metadata=doc_dict["metadata"],
                ),
                float(similarity[idx].item()),
                doc_dict["vector"],
            )
            for idx in top_k_idx
            # Assign using walrus operator to avoid multiple lookups
            if (doc_dict := docs[idx])
        ]

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free