_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
Source
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