sivakorn-su commited on
Commit
723168d
·
1 Parent(s): db47d79
Files changed (4) hide show
  1. Dockerfile +1 -4
  2. app.py +0 -5
  3. config.py +10 -0
  4. models.py +2 -4
Dockerfile CHANGED
@@ -63,7 +63,4 @@ COPY . /app
63
  EXPOSE 7860
64
 
65
  # run: limit workers & concurrency; set ulimit before start
66
- CMD ["bash","-lc", "\
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