⚡ خادم ONNX مصمم للاستدلال السريع ، ودعم الإعدادات الإضافية وإعدادات الاستدلال الإضافية لتمكين إعدادات تفضيل النموذج وتحسين الأداء.
نحن نقدم أنظمة المكالمات خارج الصندوق.
client = VITS ( "http://127.0.0.1:9557" )
res = client . generate_voice ( model_id = "model_01" , text = "你好,世界!" , speaker_id = 0 , audio_type = "wav" ,
length_scale = 1.0 , noise_scale = 0.5 , noise_scale_w = 0.5 , auto_parse = True )
with open ( "output.wav" , "wb" ) as f :
for chunk in res . iter_content ( chunk_size = 1024 ):
if chunk :
f . write ( chunk ) نوصي باستخدام بيئة افتراضية لعزل بيئة وقت التشغيل. نظرًا لأن تبعيات هذا المشروع قد تعطل مكتبة التبعية الخاصة بك ، فإننا نوصي باستخدام pipenv لإدارة حزمة التبعية.
التكوين في .env ، بما في ذلك الحقول التالية:
VITS_SERVER_HOST = 0.0.0.0
VITS_SERVER_PORT = 9557
VITS_SERVER_RELOAD = false
# VITS_SERVER_WORKERS=1
# VITS_SERVER_INIT_CONFIG="https://....json"
# VITS_SERVER_INIT_MODEL="https://.....pth or onnx"أو يمكنك استخدام الأمر التالي لتعيين متغير البيئة:
export VITS_SERVER_HOST= " 0.0.0.0 "
export VITS_SERVER_PORT= " 9557 "
export VITS_SERVER_RELOAD= " false "
export VITS_DISABLE_GPU= " false "
VITS_SERVER_RELOAD يعني خادم إعادة تشغيل تلقائي عند تغيير الملف.
apt-get update &&
apt-get install -y build-essential libsndfile1 vim gcc g++ cmake
apt install python3-pip
pip3 install pipenv
pipenv install # Create and install dependency packages
pipenv shell # Activate the virtual environment
python3 main.py # Run
# then ctrl+c exit apt install npm
npm install pm2 -g
pm2 start pm2.json
# then the server will run in the background
ولدينا نص نقرة واحدة لتثبيت pipenv و npm :
curl -LO https://raw.githubusercontent.com/LlmKira/VitsServer/main/deploy_script.sh && chmod +x deploy_script.sh && ./deploy_script.sh
لدينا docker pull sudoskys/vits-server:main to Docker Hub.
يمكنك أيضا بناء من Dockerfile.
docker build -t < image-name > . حيث <image-name> هو الاسم الذي تريد تقديمه للصورة. ثم ، استخدم الأمر التالي لبدء الحاوية:
docker run -d -p 9557:9557 -v < local-path > /vits_model:/app/model < image-name > حيث يكون <local-path> هو مسار المجلد المحلي الذي تريد تعيينه إلى دليل /تطبيق /طراز في الحاوية.
في مجلد model model.onnx ضع model.pth model.json . إذا كان .pth ، فسيتم تحويله تلقائيًا إلى .onnx !
يمكنك استخدام .env لتعيين VITS_SERVER_INIT_CONFIG و VITS_SERVER_INIT_MODEL لتنزيل ملفات النموذج.
VITS_SERVER_INIT_CONFIG = " https://....json "
VITS_SERVER_INIT_MODEL = " https://.....pth?trace=233 or onnx?trace=233 " هيكل مجلد model :
.
├── 1000_epochs.json
├── 1000_epochs.onnx
├── 1000_epochs.pth
├── 233_epochs.json
├── 233_epochs.onnx
└── 233_epochs.pth
Model ID هو 1000_epochs و 233_epochs .
عندما تضع ملفات النموذج في مجلد model ، يجب عليك إعادة تشغيل الخادم.
يمكنك إضافة حقول إضافية في تكوين النموذج للحصول على معلومات مثل اسم النموذج المقابل لمعرف النموذج من خلال API.
{
//...
"info" : {
"name" : "coco" ,
"description" : "a vits model" ,
"author" : "someone" ,
"cover" : "https://xxx.com/xxx.jpg" ,
"email" : "[email protected]"
} ,
"infer" : {
"noise_scale" : 0.667 ,
"length_scale" : 1.0 ,
"noise_scale_w" : 0.8
}
//....
} infer هو إعدادات الاستدلال الافتراضية (تفضيل) للنموذج.
info هي معلومات النموذج.
يمكنك الوصول إلى {your_base_url}/model/list?show_speaker=True&show_ms_config=True للحصول على معلومات مفصلة حول أدوار النموذج والتكوينات.
نود أن نعترف بمساهمات المشاريع التالية في تطوير هذا المشروع: