Lengyue 1 год назад
Родитель
Сommit
b083570b36
3 измененных файлов с 30 добавлено и 13 удалено
  1. 12 0
      README.md
  2. 2 2
      dockerfile
  3. 16 11
      tools/api.py

+ 12 - 0
README.md

@@ -1,5 +1,17 @@
 # Fish Speech
 
+<div>
+<a target="_blank" href="https://discord.gg/Es5qTB9BcN">
+<img alt="Discord" src="https://img.shields.io/discord/1214047546020728892?color=%23738ADB&label=Discord&logo=discord&logoColor=white&style=flat-square"/>
+</a>
+<a target="_blank" href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=jCKlUP7QgSm9kh95UlBoYv6s1I-Apl1M&authKey=xI5ttVAp3do68IpEYEalwXSYZFdfxZSkah%2BctF5FIMyN2NqAa003vFtLqJyAVRfF&noverify=0&group_code=593946093">
+<img alt="QQ" src="https://img.shields.io/badge/QQ Group-%2312B7F5?logo=tencent-qq&logoColor=white&style=flat-square"/>
+</a>
+<a target="_blank" href="https://hub.docker.com/lengyue233/fish-speech">
+<img alt="Docker" src="https://img.shields.io/docker/automated/lengyue233/fish-speech&style=flat-square"/>
+</a>
+</div>
+
 This codebase is released under BSD-3-Clause License, and all models are released under CC-BY-NC-SA-4.0 License. Please refer to [LICENSE](LICENSE) for more details. 
 
 此代码库根据 BSD-3-Clause 许可证发布, 所有模型根据 CC-BY-NC-SA-4.0 许可证发布。请参阅 [LICENSE](LICENSE) 了解更多细节.

+ 2 - 2
dockerfile

@@ -3,10 +3,10 @@ FROM python:3.10.14-bookworm
 # Install system dependencies
 ENV DEBIAN_FRONTEND=noninteractive
 RUN apt-get update && apt-get install -y git curl build-essential ffmpeg libsm6 libxext6 libjpeg-dev \
-    zlib1g-dev aria2 zsh openssh-server sudo python3.10-venv protobuf-compiler && \
+    zlib1g-dev aria2 zsh openssh-server sudo protobuf-compiler && \
     apt-get clean && rm -rf /var/lib/apt/lists/*
 
-# Install zsh
+# Install oh-my-zsh so your terminal looks nice
 RUN sh -c "$(curl https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" "" --unattended
 
 # Set zsh as default shell

+ 16 - 11
tools/api.py

@@ -7,7 +7,6 @@ from threading import Lock
 from typing import Annotated, Literal, Optional
 
 import librosa
-import numpy as np
 import soundfile as sf
 import torch
 from kui.wsgi import (
@@ -212,18 +211,14 @@ app = Kui(
 
 # Swagger UI & routes
 app.router << ("/v1" // routes) << ("/docs" // OpenAPI().routes)
-args = parse_args()
 
 
 if __name__ == "__main__":
-    from zibai import Options, main
+    import threading
 
-    options = Options(
-        app="tools.api:app",
-        listen=[args.listen],
-    )
-    main(options)
-else:
+    from zibai import create_bind_socket, serve
+
+    args = parse_args()
     args.precision = torch.half if args.half else torch.bfloat16
 
     logger.info("Loading Llama model...")
@@ -249,7 +244,7 @@ else:
     # Dry run to check if the model is loaded correctly and avoid the first-time latency
     inference(
         InvokeRequest(
-            text="你说的对, 但是原神是一款由米哈游自主研发的开放世界手游.",
+            text="A warm-up sentence.",
             reference_text=None,
             reference_audio=None,
             max_new_tokens=0,
@@ -263,4 +258,14 @@ else:
         )
     )
 
-    logger.info("Warming up done.")
+    logger.info(f"Warming up done, starting server at http://{args.listen}")
+    sock = create_bind_socket(args.listen)
+    sock.listen()
+
+    # Start server
+    serve(
+        app=app,
+        bind_sockets=[sock],
+        max_workers=10,
+        graceful_exit=threading.Event(),
+    )