19 lines
507 B
Python
19 lines
507 B
Python
|
|
from difflib import SequenceMatcher
|
||
|
|
from typing import List, Tuple
|
||
|
|
|
||
|
|
from pydantic import BaseModel
|
||
|
|
|
||
|
|
from langchain_community.cross_encoders.base import BaseCrossEncoder
|
||
|
|
|
||
|
|
|
||
|
|
class FakeCrossEncoder(BaseCrossEncoder, BaseModel):
|
||
|
|
"""Fake cross encoder model."""
|
||
|
|
|
||
|
|
def score(self, text_pairs: List[Tuple[str, str]]) -> List[float]:
|
||
|
|
scores = list(
|
||
|
|
map(
|
||
|
|
lambda pair: SequenceMatcher(None, pair[0], pair[1]).ratio(), text_pairs
|
||
|
|
)
|
||
|
|
)
|
||
|
|
return scores
|