whisper-large-v1-tw / handler.py
Evan-Lin's picture
Update handler.py
7f3abba
from typing import Dict, List, Any
from transformers import pipeline
class EndpointHandler():
def __init__(self, path=""):
self.pipeline = pipeline(task= "automatic-speech-recognition", model=path)
self.pipeline.model.config.forced_decoder_ids = self.pipeline.tokenizer.get_decoder_prompt_ids(language="Chinese", task="transcribe")
self.pipeline.model.generation_config.forced_decoder_ids = self.pipeline.model.config.forced_decoder_ids # just to be sure!
def __call__(self, data: Dict[str, Any]) -> List[Dict[str, Any]]:
"""
data args:
inputs (:obj: `str`)
date (:obj: `str`)
Return:
A :obj:`list` | `dict`: will be serialized and returned
"""
# get inputs
# run normal prediction
inputs = data.pop("inputs",data)
prediction = self.pipeline(inputs, return_timestamps=False)
return prediction