Home / Function/ _select_relevance_score_fn() — langchain Function Reference

_select_relevance_score_fn() — langchain Function Reference

Architecture documentation for the _select_relevance_score_fn() function in vectorstores.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  e54309ca_bba7_2b5c_1957_2855cc6ff2f8["_select_relevance_score_fn()"]
  babbef04_3a0c_25f4_58a8_9d3209d5867e["Chroma"]
  e54309ca_bba7_2b5c_1957_2855cc6ff2f8 -->|defined in| babbef04_3a0c_25f4_58a8_9d3209d5867e
  5c760345_6d9f_56ec_a2d0_4b7341a25233["get()"]
  e54309ca_bba7_2b5c_1957_2855cc6ff2f8 -->|calls| 5c760345_6d9f_56ec_a2d0_4b7341a25233
  style e54309ca_bba7_2b5c_1957_2855cc6ff2f8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/chroma/langchain_chroma/vectorstores.py lines 904–943

    def _select_relevance_score_fn(self) -> Callable[[float], float]:
        """Select the relevance score function based on collections distance metric.

        The most similar documents will have the lowest relevance score. Default
        relevance score function is Euclidean distance. Distance metric must be
        provided in `collection_configuration` during initialization of Chroma object.
        Example: collection_configuration={"hnsw": {"space": "cosine"}}.
        Available distance metrics are: 'cosine', 'l2' and 'ip'.

        Returns:
            The relevance score function.

        Raises:
            ValueError: If the distance metric is not supported.
        """
        if self.override_relevance_score_fn:
            return self.override_relevance_score_fn

        hnsw_config = self._collection.configuration.get("hnsw")
        hnsw_distance: str | None = hnsw_config.get("space") if hnsw_config else None

        spann_config = self._collection.configuration.get("spann")
        spann_distance: str | None = spann_config.get("space") if spann_config else None

        distance = hnsw_distance or spann_distance

        if distance == "cosine":
            return self._cosine_relevance_score_fn
        if distance == "l2":
            return self._euclidean_relevance_score_fn
        if distance == "ip":
            return self._max_inner_product_relevance_score_fn
        msg = (
            "No supported normalization function"
            f" for distance metric of type: {distance}."
            "Consider providing relevance_score_fn to Chroma constructor."
        )
        raise ValueError(
            msg,
        )

Domain

Subdomains

Calls

Frequently Asked Questions

What does _select_relevance_score_fn() do?
_select_relevance_score_fn() is a function in the langchain codebase, defined in libs/partners/chroma/langchain_chroma/vectorstores.py.
Where is _select_relevance_score_fn() defined?
_select_relevance_score_fn() is defined in libs/partners/chroma/langchain_chroma/vectorstores.py at line 904.
What does _select_relevance_score_fn() call?
_select_relevance_score_fn() calls 1 function(s): get.

Analyze Your Own Codebase

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

Try Supermodel Free