File size: 1,019 Bytes
b0f558d df78031 b0f558d ed03737 b0f558d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
from sentence_transformers import SentenceTransformer
from typing import Union, List, Dict
class EndpointHandler:
"""
A handler class to summarize CVs or job vacancies using a pre-trained language model.
"""
def __init__(self, path: str = ""):
"""
Initializes the EndpointHandler with model and tokenizer.
:param path: Optional path parameter, default is an empty string.
"""
self.sbert = SentenceTransformer(
"jinaai/jina-embeddings-v3",
trust_remote_code=True
)
def __call__(self, data: Dict[str, Union[str, List[str]]]) -> List[str]:
"""
Summarizes the input CV(s) or job vacancies into bullet points.
:param data: A dictionary with "inputs" and "type" keys.
:return: A list of summarized strings.
"""
# Extract inputs and type
texts = data.pop("inputs")
return self.sbert.encode(
texts,
task="retrieval.query"
).tolist()
|