From c2f92540067061e03c32543db51c76187caee976 Mon Sep 17 00:00:00 2001 From: "lyuxiang.lx" Date: Thu, 11 Jul 2024 17:47:48 +0800 Subject: [PATCH] add fastapi usage --- README.md | 2 ++ .../python/fastapi/{fastapi_client.py => client.py} | 2 +- .../python/fastapi/{fastapi_server.py => server.py} | 10 +++++----- 3 files changed, 8 insertions(+), 6 deletions(-) rename runtime/python/fastapi/{fastapi_client.py => client.py} (97%) rename runtime/python/fastapi/{fastapi_server.py => server.py} (93%) diff --git a/README.md b/README.md index 4444c5e..c54c473 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,8 @@ docker build -t cosyvoice:v1.0 . docker run -d --runtime=nvidia -p 50000:50000 cosyvoice:v1.0 /bin/bash -c "cd /opt/CosyVoice/CosyVoice/runtime/python/grpc && python3 server.py --port 50000 --max_conc 4 --model_dir iic/CosyVoice-300M && sleep infinity" python3 grpc/client.py --port 50000 --mode # for fastapi usage +docker run -d --runtime=nvidia -p 50000:50000 cosyvoice:v1.0 /bin/bash -c "cd /opt/CosyVoice/CosyVoice/runtime/python/fastapi && MODEL_DIR=iic/CosyVoice-300M fastapi dev --port 50000 server.py && sleep infinity" +python3 fastapi/client.py --port 50000 --mode ``` ## Discussion & Communication diff --git a/runtime/python/fastapi/fastapi_client.py b/runtime/python/fastapi/client.py similarity index 97% rename from runtime/python/fastapi/fastapi_client.py rename to runtime/python/fastapi/client.py index f4b3f12..cf32092 100644 --- a/runtime/python/fastapi/fastapi_client.py +++ b/runtime/python/fastapi/client.py @@ -66,7 +66,7 @@ if __name__ == "__main__": default='希望你以后能够做的比我还好呦。') parser.add_argument('--prompt_wav', type=str, - default='../../zero_shot_prompt.wav') + default='../../../zero_shot_prompt.wav') parser.add_argument('--instruct_text', type=str, default='Theo \'Crimson\', is a fiery, passionate rebel leader. Fights with fervor for justice, but struggles with impulsiveness.') diff --git a/runtime/python/fastapi/fastapi_server.py b/runtime/python/fastapi/server.py similarity index 93% rename from runtime/python/fastapi/fastapi_server.py rename to runtime/python/fastapi/server.py index 2dbc619..b0bf62c 100644 --- a/runtime/python/fastapi/fastapi_server.py +++ b/runtime/python/fastapi/server.py @@ -1,9 +1,9 @@ # Set inference model # export MODEL_DIR=pretrained_models/CosyVoice-300M-Instruct # For development -# fastapi dev --port 6006 fastapi_server.py +# fastapi dev --port 6006 fastapi_server.py # For production deployment -# fastapi run --port 6006 fastapi_server.py +# fastapi run --port 6006 fastapi_server.py import os import sys @@ -12,8 +12,8 @@ from fastapi import FastAPI, Response, File, UploadFile, Form from fastapi.responses import HTMLResponse from contextlib import asynccontextmanager ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) -sys.path.append('{}/../..'.format(ROOT_DIR)) -sys.path.append('{}/../../third_party/Matcha-TTS'.format(ROOT_DIR)) +sys.path.append('{}/../../..'.format(ROOT_DIR)) +sys.path.append('{}/../../../third_party/Matcha-TTS'.format(ROOT_DIR)) from cosyvoice.cli.cosyvoice import CosyVoice from cosyvoice.utils.file_utils import load_wav import numpy as np @@ -30,7 +30,7 @@ async def lifespan(app: FastAPI): model_dir = os.getenv("MODEL_DIR", "pretrained_models/CosyVoice-300M-SFT") if model_dir: logging.info("MODEL_DIR is {}", model_dir) - app.cosyvoice = CosyVoice('../../'+model_dir) + app.cosyvoice = CosyVoice(model_dir) # sft usage logging.info("Avaliable speakers {}", app.cosyvoice.list_avaliable_spks()) else: