+
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions lib/sycamore/sycamore/tests/unit/utils/test_similarity.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import pytest
from unittest.mock import Mock
from sycamore.utils.similarity import make_element_sorter_fn


def test_make_element_sorter_fn_no_similarity_query():
sorter_fn = make_element_sorter_fn("test_field", None, Mock())
assert sorter_fn({}) is None


def test_make_element_sorter_fn_no_similarity_scorer():
with pytest.raises(AssertionError, match="Similarity sorting requires a scorer"):
make_element_sorter_fn("test_field", "query", None)
5 changes: 2 additions & 3 deletions lib/sycamore/sycamore/utils/similarity.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@


def make_element_sorter_fn(field: str, similarity_query: Optional[str], similarity_scorer: Optional[SimilarityScorer]):
assert not (
(similarity_query is None) ^ (similarity_scorer is None)
), "set both or neither of similarity_query and similarity_scorer"
if similarity_query is None:
return lambda d: None

assert similarity_scorer is not None, "Similarity sorting requires a scorer"

def f(doc):
score_property_name = f"{field}_similarity_score"
doc = similarity_scorer.generate_similarity_scores(
Expand Down
Loading
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载