sivakorn-su
commited on
Commit
·
723168d
1
Parent(s):
db47d79
fix code
Browse files
Dockerfile
CHANGED
@@ -63,7 +63,4 @@ COPY . /app
|
|
63 |
EXPOSE 7860
|
64 |
|
65 |
# run: limit workers & concurrency; set ulimit before start
|
66 |
-
CMD ["
|
67 |
-
ulimit -u 4096 || true; \
|
68 |
-
exec uvicorn app:app --host 0.0.0.0 --port 7860 --workers 1 --limit-concurrency 8 \
|
69 |
-
"]
|
|
|
63 |
EXPOSE 7860
|
64 |
|
65 |
# run: limit workers & concurrency; set ulimit before start
|
66 |
+
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1", "--limit-concurrency", "8"]
|
|
|
|
|
|
app.py
CHANGED
@@ -9,11 +9,6 @@ import torch
|
|
9 |
import uvicorn
|
10 |
import asyncio
|
11 |
import logging
|
12 |
-
os.environ.setdefault("OMP_NUM_THREADS", "1")
|
13 |
-
os.environ.setdefault("OPENBLAS_NUM_THREADS", "1")
|
14 |
-
os.environ.setdefault("MKL_NUM_THREADS", "1")
|
15 |
-
torch.set_num_threads(1)
|
16 |
-
torch.set_num_interop_threads(1)
|
17 |
from config import UPLOAD_FOLDER, SUPABASE_URL, SUPABASE_KEY
|
18 |
from models import pipelines, models, model_lock, load_model_bundle, overlap_pipeline
|
19 |
from utils import (
|
|
|
9 |
import uvicorn
|
10 |
import asyncio
|
11 |
import logging
|
|
|
|
|
|
|
|
|
|
|
12 |
from config import UPLOAD_FOLDER, SUPABASE_URL, SUPABASE_KEY
|
13 |
from models import pipelines, models, model_lock, load_model_bundle, overlap_pipeline
|
14 |
from utils import (
|
config.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
import os
|
2 |
from pathlib import Path
|
|
|
3 |
|
4 |
HF_CACHE_DIR = "/tmp/hf_cache"
|
5 |
WHISPER_CACHE_DIR = "/tmp/whisper_cache"
|
@@ -7,6 +8,9 @@ TORCH_CACHE_DIR = "/tmp/torch_cache"
|
|
7 |
MATPLOTLIB_CONFIG = "/tmp/matplotlib"
|
8 |
UPLOAD_FOLDER = "/tmp/uploads"
|
9 |
PYTHAI_NLP = "/tmp/pythainlp_data"
|
|
|
|
|
|
|
10 |
# Set env vars ก่อน import ใด ๆ ทั้งหมด
|
11 |
os.environ["HUGGINGFACE_HUB_CACHE"] = HF_CACHE_DIR
|
12 |
os.environ["HF_HOME"] = HF_CACHE_DIR
|
@@ -20,6 +24,12 @@ os.environ["TMP"] = "/tmp"
|
|
20 |
os.environ["XDG_CACHE_HOME"] = "/tmp"
|
21 |
os.environ["HOME"] = "/tmp/home" # Force HOME to writable location
|
22 |
os.environ["PYTHAINLP_DATA_DIR"] = PYTHAI_NLP
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
# สร้าง directories ทั้งหมด
|
24 |
for path in [HF_CACHE_DIR, WHISPER_CACHE_DIR, TORCH_CACHE_DIR, MATPLOTLIB_CONFIG, "/tmp/home", UPLOAD_FOLDER,PYTHAI_NLP]:
|
25 |
os.makedirs(path, exist_ok=True)
|
|
|
1 |
import os
|
2 |
from pathlib import Path
|
3 |
+
import torch
|
4 |
|
5 |
HF_CACHE_DIR = "/tmp/hf_cache"
|
6 |
WHISPER_CACHE_DIR = "/tmp/whisper_cache"
|
|
|
8 |
MATPLOTLIB_CONFIG = "/tmp/matplotlib"
|
9 |
UPLOAD_FOLDER = "/tmp/uploads"
|
10 |
PYTHAI_NLP = "/tmp/pythainlp_data"
|
11 |
+
OMP_NUM_THREADS="1"
|
12 |
+
OPENBLAS_NUM_THREADS="1"
|
13 |
+
MKL_NUM_THREADS="1"
|
14 |
# Set env vars ก่อน import ใด ๆ ทั้งหมด
|
15 |
os.environ["HUGGINGFACE_HUB_CACHE"] = HF_CACHE_DIR
|
16 |
os.environ["HF_HOME"] = HF_CACHE_DIR
|
|
|
24 |
os.environ["XDG_CACHE_HOME"] = "/tmp"
|
25 |
os.environ["HOME"] = "/tmp/home" # Force HOME to writable location
|
26 |
os.environ["PYTHAINLP_DATA_DIR"] = PYTHAI_NLP
|
27 |
+
os.environ["OMP_NUM_THREADS"] = OMP_NUM_THREADS
|
28 |
+
os.environ["OPENBLAS_NUM_THREADS"] = OPENBLAS_NUM_THREADS
|
29 |
+
os.environ["MKL_NUM_THREADS"] = MKL_NUM_THREADS
|
30 |
+
|
31 |
+
torch.set_num_threads(1)
|
32 |
+
torch.set_num_interop_threads(1)
|
33 |
# สร้าง directories ทั้งหมด
|
34 |
for path in [HF_CACHE_DIR, WHISPER_CACHE_DIR, TORCH_CACHE_DIR, MATPLOTLIB_CONFIG, "/tmp/home", UPLOAD_FOLDER,PYTHAI_NLP]:
|
35 |
os.makedirs(path, exist_ok=True)
|
models.py
CHANGED
@@ -54,15 +54,13 @@ async def load_model_bundle():
|
|
54 |
pipeline = Pipeline.from_pretrained(
|
55 |
"pyannote/speaker-diarization-3.1",
|
56 |
use_auth_token=token,
|
57 |
-
cache_dir=HF_CACHE_DIR
|
58 |
-
revision="v3.1.1",
|
59 |
).to(device_torch)
|
60 |
|
61 |
overlap_pipeline = Pipeline.from_pretrained(
|
62 |
"pyannote/overlapped-speech-detection",
|
63 |
use_auth_token=token,
|
64 |
-
cache_dir=HF_CACHE_DIR
|
65 |
-
revision="v3.1.1",
|
66 |
)
|
67 |
model_fallback_chain = [PREFERRED_MODEL] + [m for m in FALLBACK_MODELS if m != PREFERRED_MODEL]
|
68 |
|
|
|
54 |
pipeline = Pipeline.from_pretrained(
|
55 |
"pyannote/speaker-diarization-3.1",
|
56 |
use_auth_token=token,
|
57 |
+
cache_dir=HF_CACHE_DIR
|
|
|
58 |
).to(device_torch)
|
59 |
|
60 |
overlap_pipeline = Pipeline.from_pretrained(
|
61 |
"pyannote/overlapped-speech-detection",
|
62 |
use_auth_token=token,
|
63 |
+
cache_dir=HF_CACHE_DIR # ใช้ cache เดียวกับโมเดลอื่น
|
|
|
64 |
)
|
65 |
model_fallback_chain = [PREFERRED_MODEL] + [m for m in FALLBACK_MODELS if m != PREFERRED_MODEL]
|
66 |
|