jina-embeddings-v3 / handler.py
Daxtra's picture
Update handler.py
ed03737 verified
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()