| from transformers import pipeline, AutoModelForTokenClassification, AutoTokenizer |
| from typing import Dict, List, Any |
| from tokenizers.decoders import WordPiece |
|
|
|
|
| class EndpointHandler: |
| def __init__(self, path="."): |
| model = AutoModelForTokenClassification.from_pretrained(path) |
| tokenizer = AutoTokenizer.from_pretrained(path) |
| self.pipeline = pipeline('ner', model=model, tokenizer=tokenizer, aggregation_strategy='simple') |
| self.pipeline.tokenizer.backend_tokenizer.decoder = WordPiece() |
|
|
| 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 |
| """ |
| return self.pipeline(data['inputs']) |
|
|