sivakorn-su
fix config
2954be4
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"
# Set env vars ก่อน import ใด ๆ ทั้งหมด
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" # Force HOME to writable location
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)
# สร้าง directories ทั้งหมด
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)
# พยายามสร้าง /.cache ถ้าทำได้ (fallback)
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')
# Monkey patch huggingface_hub ก่อน import อื่น ๆ
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
# Patch os.path.expanduser to redirect ~/.cache
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()