File size: 829 Bytes
2f13c75
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from typing import Dict, List, Any
from transformers import AutoModelForCausalLM, AutoTokenizer

class EndpointHandler():
    def __init__(self, path=""):
        # Preload all the elements you are going to need at inference.
        # pseudo:
        self.tokenizer= AutoTokenizer.from_pretrained(path)
        self.model= AutoModelForCausalLM.from_pretrained(path)

    def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]:
        """
       data args:
            inputs (:obj: `str` | `PIL.Image` | `np.array`)
            kwargs
      Return:
            A :obj:`list` | `dict`: will be serialized and returned
        """
        text = data.pop("text")
        inputs = self.tokenizer(text, return_tensors="pt")
        logits = self.model(inputs).logits
        return [{"predictions":logits.argmax(dim=-1)}]