|
import os |
|
from pathlib import Path |
|
import torch |
|
|
|
HF_CACHE_DIR = "/tmp/hf_cache" |
|
WHISPER_CACHE_DIR = "/tmp/whisper_cache" |
|
TORCH_CACHE_DIR = "/tmp/torch_cache" |
|
MATPLOTLIB_CONFIG = "/tmp/matplotlib" |
|
UPLOAD_FOLDER = "/tmp/uploads" |
|
PYTHAI_NLP = "/tmp/pythainlp_data" |
|
OMP_NUM_THREADS="1" |
|
OPENBLAS_NUM_THREADS="1" |
|
MKL_NUM_THREADS="1" |
|
|
|
os.environ["HUGGINGFACE_HUB_CACHE"] = HF_CACHE_DIR |
|
os.environ["HF_HOME"] = HF_CACHE_DIR |
|
os.environ["HF_CACHE"] = HF_CACHE_DIR |
|
os.environ["TRANSFORMERS_CACHE"] = HF_CACHE_DIR |
|
os.environ["TORCH_HOME"] = TORCH_CACHE_DIR |
|
os.environ["MPLCONFIGDIR"] = MATPLOTLIB_CONFIG |
|
os.environ["TMPDIR"] = "/tmp" |
|
os.environ["TEMP"] = "/tmp" |
|
os.environ["TMP"] = "/tmp" |
|
os.environ["XDG_CACHE_HOME"] = "/tmp" |
|
os.environ["HOME"] = "/tmp/home" |
|
os.environ["PYTHAINLP_DATA_DIR"] = PYTHAI_NLP |
|
os.environ["OMP_NUM_THREADS"] = "1" |
|
os.environ["OPENBLAS_NUM_THREADS"] = "1" |
|
os.environ["MKL_NUM_THREADS"] = "1" |
|
|
|
torch.set_num_threads(1) |
|
torch.set_num_interop_threads(1) |
|
|
|
for path in [HF_CACHE_DIR, WHISPER_CACHE_DIR, TORCH_CACHE_DIR, MATPLOTLIB_CONFIG, "/tmp/home", UPLOAD_FOLDER,PYTHAI_NLP]: |
|
os.makedirs(path, exist_ok=True) |
|
|
|
|
|
try: |
|
os.makedirs("/.cache", exist_ok=True) |
|
os.chmod("/.cache", 0o777) |
|
print("✅ Created /.cache directory") |
|
except PermissionError: |
|
print("⚠️ Cannot create /.cache, using symbolic link fallback") |
|
try: |
|
if not os.path.exists("/.cache"): |
|
os.symlink(HF_CACHE_DIR, "/.cache") |
|
print("✅ Created symbolic link /.cache -> /tmp/hf_cache") |
|
except: |
|
print("⚠️ Cannot create symbolic link, proceeding with env vars only") |
|
|
|
token = os.environ.get('HF_TOKEN') |
|
together_api_key = os.environ.get('TOGETHER_API_KEY') |
|
ngrok_auth_token = os.environ.get('NGROK_AUTH_TOKEN') |
|
SUPABASE_URL = os.environ.get('SUPABASE_URL') |
|
SUPABASE_KEY = os.environ.get('SUPABASE_KEY') |
|
|
|
|
|
def patch_huggingface_cache(): |
|
try: |
|
import huggingface_hub.constants |
|
huggingface_hub.constants.HUGGINGFACE_HUB_CACHE = HF_CACHE_DIR |
|
huggingface_hub.constants.HF_HOME = HF_CACHE_DIR |
|
print(f"✅ Patched HuggingFace cache to: {HF_CACHE_DIR}") |
|
except ImportError: |
|
pass |
|
|
|
|
|
original_expanduser = os.path.expanduser |
|
|
|
def patched_expanduser(path): |
|
if hasattr(path, '__fspath__'): |
|
path_str = str(path) |
|
else: |
|
path_str = path |
|
if path_str.startswith('~/.cache'): |
|
return HF_CACHE_DIR |
|
elif path_str == '~': |
|
return '/tmp/home' |
|
return original_expanduser(path) |
|
|
|
os.path.expanduser = patched_expanduser |
|
patch_huggingface_cache() |