mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-07 21:29:13 +00:00
Fix cross encoder to use softmax to convert it to a distance metric
This commit is contained in:
@@ -27,5 +27,5 @@ class CrossEncoderModel:
|
|||||||
|
|
||||||
def predict(self, query, hits: List[SearchResponse]):
|
def predict(self, query, hits: List[SearchResponse]):
|
||||||
cross__inp = [[query, hit.additional["compiled"]] for hit in hits]
|
cross__inp = [[query, hit.additional["compiled"]] for hit in hits]
|
||||||
cross_scores = self.cross_encoder_model.predict(cross__inp)
|
cross_scores = self.cross_encoder_model.predict(cross__inp, apply_softmax=True)
|
||||||
return cross_scores
|
return cross_scores
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ def cross_encoder_score(query: str, hits: List[SearchResponse]) -> List[SearchRe
|
|||||||
|
|
||||||
# Convert cross-encoder scores to distances and pass in hits for reranking
|
# Convert cross-encoder scores to distances and pass in hits for reranking
|
||||||
for idx in range(len(cross_scores)):
|
for idx in range(len(cross_scores)):
|
||||||
hits[idx]["cross_score"] = -1 * cross_scores[idx]
|
hits[idx]["cross_score"] = 1 - cross_scores[idx]
|
||||||
|
|
||||||
return hits
|
return hits
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user