mirror of
https://github.com/remsky/Kokoro-FastAPI.git
synced 2025-04-13 09:39:17 +00:00
fix: update model directory paths and improve logging in TTS services
This commit is contained in:
parent
2c305c66ed
commit
8bc8661930
7 changed files with 32 additions and 25 deletions
|
@ -13,7 +13,7 @@ class Settings(BaseSettings):
|
|||
output_dir: str = "output"
|
||||
output_dir_size_limit_mb: float = 500.0 # Maximum size of output directory in MB
|
||||
default_voice: str = "af"
|
||||
model_dir: str = "/app/api/model_files" # Base directory for model files
|
||||
model_dir: str = "/app/models" # Base directory for model files
|
||||
pytorch_model_path: str = "kokoro-v0_19.pth"
|
||||
onnx_model_path: str = "kokoro-v0_19.onnx"
|
||||
voices_dir: str = "voices"
|
||||
|
|
|
@ -39,6 +39,9 @@ class TTSBaseModel(ABC):
|
|||
cls._device = "cpu"
|
||||
model_path = os.path.join(settings.model_dir, settings.onnx_model_path)
|
||||
logger.info(f"Initializing model on {cls._device}")
|
||||
logger.info(f"Model dir: {settings.model_dir}")
|
||||
logger.info(f"Model path: {model_path}")
|
||||
logger.info(f"Files in model dir: {os.listdir(settings.model_dir)}")
|
||||
|
||||
# Initialize model first
|
||||
model = cls.initialize(settings.model_dir, model_path=model_path)
|
||||
|
|
|
@ -3,7 +3,7 @@ import time
|
|||
|
||||
import numpy as np
|
||||
import torch
|
||||
from builds.models import build_model
|
||||
from ..builds.models import build_model
|
||||
from loguru import logger
|
||||
|
||||
from ..core.config import settings
|
||||
|
|
|
@ -16,17 +16,21 @@ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|||
RUN useradd -m -u 1000 appuser
|
||||
|
||||
# Create directories and set ownership
|
||||
RUN mkdir -p /app/api/model_files && \
|
||||
RUN mkdir -p /app/models && \
|
||||
mkdir -p /app/api/src/voices && \
|
||||
chown -R appuser:appuser /app
|
||||
|
||||
USER appuser
|
||||
|
||||
# Download and extract models
|
||||
WORKDIR /app/api/model_files
|
||||
RUN curl -L -o model.tar.gz https://github.com/remsky/Kokoro-FastAPI/releases/download/v0.0.1/kokoro-82m-onnx.tar.gz && \
|
||||
WORKDIR /app/models
|
||||
RUN set -x && \
|
||||
curl -L -o model.tar.gz https://github.com/remsky/Kokoro-FastAPI/releases/download/v0.0.1/kokoro-82m-onnx.tar.gz && \
|
||||
echo "Downloaded model.tar.gz:" && ls -lh model.tar.gz && \
|
||||
tar xzf model.tar.gz && \
|
||||
rm model.tar.gz
|
||||
echo "Contents after extraction:" && ls -lhR && \
|
||||
rm model.tar.gz && \
|
||||
echo "Final contents:" && ls -lhR
|
||||
|
||||
# Download and extract voice models
|
||||
WORKDIR /app/api/src/voices
|
||||
|
@ -54,7 +58,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||
|
||||
# Set environment variables
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV PYTHONPATH=/app:/app/Kokoro-82M
|
||||
ENV PYTHONPATH=/app:/app/models
|
||||
ENV PATH="/app/.venv/bin:$PATH"
|
||||
ENV UV_LINK_MODE=copy
|
||||
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
name: kokoro-tts
|
||||
services:
|
||||
kokoro-tts:
|
||||
image: ghcr.io/remsky/kokoro-fastapi-cpu:latest
|
||||
# Uncomment below (and comment out above) to build from source instead of using the released image
|
||||
image: ghcr.io/remsky/kokoro-fastapi-cpu:v0.1.0
|
||||
# build:
|
||||
# context: ../..
|
||||
# dockerfile: docker/cpu/Dockerfile
|
||||
# context: ../..
|
||||
# dockerfile: docker/cpu/Dockerfile
|
||||
volumes:
|
||||
- ../../api/src:/app/api/src
|
||||
- ../../api/src/voices:/app/api/src/voices
|
||||
ports:
|
||||
- "8880:8880"
|
||||
environment:
|
||||
- PYTHONPATH=/app:/app/Kokoro-82M
|
||||
- PYTHONPATH=/app:/app/models
|
||||
# ONNX Optimization Settings for vectorized operations
|
||||
- ONNX_NUM_THREADS=8 # Maximize core usage for vectorized ops
|
||||
- ONNX_INTER_OP_THREADS=4 # Higher inter-op for parallel matrix operations
|
||||
|
@ -22,10 +22,10 @@ services:
|
|||
|
||||
# Gradio UI service [Comment out everything below if you don't need it]
|
||||
gradio-ui:
|
||||
image: ghcr.io/remsky/kokoro-fastapi:latest-ui
|
||||
image: ghcr.io/remsky/kokoro-fastapi-ui:v0.1.0
|
||||
# Uncomment below (and comment out above) to build from source instead of using the released image
|
||||
# build:
|
||||
# context: ../../ui
|
||||
build:
|
||||
context: ../../ui
|
||||
ports:
|
||||
- "7860:7860"
|
||||
volumes:
|
||||
|
@ -34,4 +34,4 @@ services:
|
|||
environment:
|
||||
- GRADIO_WATCH=True # Enable hot reloading
|
||||
- PYTHONUNBUFFERED=1 # Ensure Python output is not buffered
|
||||
- DISABLE_LOCAL_SAVING=false # Set to 'true' to disable local saving and hide file view
|
||||
- DISABLE_LOCAL_SAVING=false # Set to 'true' to disable local saving and hide file view
|
||||
|
|
|
@ -18,14 +18,14 @@ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
|
|||
RUN useradd -m -u 1000 appuser
|
||||
|
||||
# Create directories and set ownership
|
||||
RUN mkdir -p /app/api/model_files && \
|
||||
RUN mkdir -p /app/models && \
|
||||
mkdir -p /app/api/src/voices && \
|
||||
chown -R appuser:appuser /app
|
||||
|
||||
USER appuser
|
||||
|
||||
# Download and extract models
|
||||
WORKDIR /app/api/model_files
|
||||
WORKDIR /app/models
|
||||
RUN curl -L -o model.tar.gz https://github.com/remsky/Kokoro-FastAPI/releases/download/v0.0.1/kokoro-82m-pytorch.tar.gz && \
|
||||
tar xzf model.tar.gz && \
|
||||
rm model.tar.gz
|
||||
|
@ -56,7 +56,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||
|
||||
# Set environment variables
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
ENV PYTHONPATH=/app:/app/Kokoro-82M
|
||||
ENV PYTHONPATH=/app:/app/models
|
||||
ENV PATH="/app/.venv/bin:$PATH"
|
||||
ENV UV_LINK_MODE=copy
|
||||
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
name: kokoro-tts
|
||||
services:
|
||||
kokoro-tts:
|
||||
image: ghcr.io/remsky/kokoro-fastapi-gpu:latest
|
||||
# Uncomment below (and comment out above) to build from source instead of using the released image
|
||||
# build:
|
||||
# context: ../..
|
||||
# dockerfile: docker/gpu/Dockerfile
|
||||
# image: ghcr.io/remsky/kokoro-fastapi-gpu:latest
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: docker/gpu/Dockerfile
|
||||
volumes:
|
||||
- ../../api/src:/app/api/src # Mount src for development
|
||||
- ../../api/src/voices:/app/api/src/voices # Mount voices for persistence
|
||||
ports:
|
||||
- "8880:8880"
|
||||
environment:
|
||||
- PYTHONPATH=/app:/app/Kokoro-82M
|
||||
- PYTHONPATH=/app:/app/models
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
|
|
Loading…
Add table
Reference in a new issue