Daryl Fung
revert
eabc15b
raw
history blame contribute delete
706 Bytes
import librosa
import io
import uvicorn
from fastapi import FastAPI, Form, UploadFile, File
from faster_whisper import WhisperModel
# #https://discuss.ray.io/t/expose-deployments/11930
#
### ray ###
app = FastAPI()
model = WhisperModel('tiny', device="cpu", compute_type="int8")
@app.get('/')
def setup():
return 'hello world'
@app.post('/speech')
async def transcribe(file: UploadFile = File(...)):
file_bytes = file.file.read()
audio, sample_rate = librosa.load(io.BytesIO(file_bytes))
segments, _ = model.transcribe(audio, vad_filter=True)
return ' '.join([segment.text for segment in segments])
if __name__ == '__main__':
uvicorn.run('app:app', host='0.0.0.0', port=7860)