mirror of
https://github.com/FunAudioLLM/CosyVoice.git
synced 2026-02-05 18:09:24 +08:00
supports and defaultly supports cosyvoice2 in fastapi server
This commit is contained in:
@@ -72,6 +72,14 @@ async def inference_instruct(tts_text: str = Form(), spk_id: str = Form(), instr
|
|||||||
model_output = cosyvoice.inference_instruct(tts_text, spk_id, instruct_text)
|
model_output = cosyvoice.inference_instruct(tts_text, spk_id, instruct_text)
|
||||||
return StreamingResponse(generate_data(model_output))
|
return StreamingResponse(generate_data(model_output))
|
||||||
|
|
||||||
|
@app.get("/inference_instruct2")
|
||||||
|
@app.post("/inference_instruct2")
|
||||||
|
async def inference_instruct2(tts_text: str = Form(), instruct_text: str = Form(), prompt_wav: UploadFile = File()):
|
||||||
|
prompt_speech_16k = load_wav(prompt_wav.file, 16000)
|
||||||
|
model_output = cosyvoice.inference_instruct2(tts_text, instruct_text, prompt_speech_16k)
|
||||||
|
return StreamingResponse(generate_data(model_output))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
@@ -80,14 +88,14 @@ if __name__ == '__main__':
|
|||||||
default=50000)
|
default=50000)
|
||||||
parser.add_argument('--model_dir',
|
parser.add_argument('--model_dir',
|
||||||
type=str,
|
type=str,
|
||||||
default='iic/CosyVoice-300M',
|
default='pretrained_models/CosyVoice2-0.5B',
|
||||||
help='local path or modelscope repo id')
|
help='local path or modelscope repo id')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
try:
|
try:
|
||||||
cosyvoice = CosyVoice(args.model_dir)
|
cosyvoice = CosyVoice(args.model_dir)
|
||||||
except Exception:
|
except Exception:
|
||||||
try:
|
try:
|
||||||
cosyvoice = CosyVoice2(args.model_dir)
|
cosyvoice = CosyVoice2(args.model_dir, load_jit=True, load_trt=False)
|
||||||
except Exception:
|
except Exception:
|
||||||
raise TypeError('no valid model_type!')
|
raise TypeError('no valid model_type!')
|
||||||
uvicorn.run(app, host="0.0.0.0", port=args.port)
|
uvicorn.run(app, host="0.0.0.0", port=args.port)
|
||||||
Reference in New Issue
Block a user