Fix cache path and permissions for T5 model loading
Browse files
app.py
CHANGED
|
@@ -10,9 +10,8 @@ logging.basicConfig(level=logging.INFO)
|
|
| 10 |
logger = logging.getLogger(__name__)
|
| 11 |
|
| 12 |
# Set up cache directory
|
| 13 |
-
CACHE_DIR =
|
| 14 |
-
|
| 15 |
-
# Ensure libraries use the cache directory
|
| 16 |
os.environ["HF_HOME"] = CACHE_DIR
|
| 17 |
|
| 18 |
# Create the FastAPI app
|
|
@@ -27,25 +26,23 @@ async def health_check():
|
|
| 27 |
return {"status": "healthy"}
|
| 28 |
|
| 29 |
# Load T5 model from local cache
|
| 30 |
-
|
| 31 |
try:
|
| 32 |
-
logger.info(f"Loading tokenizer for
|
| 33 |
t5_tokenizer = AutoTokenizer.from_pretrained(
|
| 34 |
-
|
| 35 |
-
cache_dir=CACHE_DIR,
|
| 36 |
local_files_only=True
|
| 37 |
)
|
| 38 |
-
logger.info(f"Successfully loaded tokenizer for
|
| 39 |
-
logger.info(f"Loading model for
|
| 40 |
t5_model = AutoModelForSeq2SeqLM.from_pretrained(
|
| 41 |
-
|
| 42 |
-
cache_dir=CACHE_DIR,
|
| 43 |
local_files_only=True
|
| 44 |
)
|
| 45 |
-
logger.info(f"Successfully loaded model for
|
| 46 |
except Exception as e:
|
| 47 |
-
logger.error(f"Failed to load T5 model from {
|
| 48 |
-
raise RuntimeError(f"Failed to load T5 model from {
|
| 49 |
|
| 50 |
# Load Mistral GGUF model
|
| 51 |
gguf_path = os.path.abspath("models/mistral-7b-instruct-v0.1.Q4_K_M.gguf")
|
|
|
|
| 10 |
logger = logging.getLogger(__name__)
|
| 11 |
|
| 12 |
# Set up cache directory
|
| 13 |
+
CACHE_DIR = "/app/.cache/huggingface/hub"
|
| 14 |
+
os.environ["TRANSFORMERS_CACHE"] = CACHE_DIR
|
|
|
|
| 15 |
os.environ["HF_HOME"] = CACHE_DIR
|
| 16 |
|
| 17 |
# Create the FastAPI app
|
|
|
|
| 26 |
return {"status": "healthy"}
|
| 27 |
|
| 28 |
# Load T5 model from local cache
|
| 29 |
+
T5_MODEL_PATH = os.path.join(CACHE_DIR, "models--MGZON--mgzon-flan-t5-base/snapshots")
|
| 30 |
try:
|
| 31 |
+
logger.info(f"Loading tokenizer for MGZON/mgzon-flan-t5-base from {T5_MODEL_PATH}")
|
| 32 |
t5_tokenizer = AutoTokenizer.from_pretrained(
|
| 33 |
+
T5_MODEL_PATH,
|
|
|
|
| 34 |
local_files_only=True
|
| 35 |
)
|
| 36 |
+
logger.info(f"Successfully loaded tokenizer for MGZON/mgzon-flan-t5-base")
|
| 37 |
+
logger.info(f"Loading model for MGZON/mgzon-flan-t5-base from {T5_MODEL_PATH}")
|
| 38 |
t5_model = AutoModelForSeq2SeqLM.from_pretrained(
|
| 39 |
+
T5_MODEL_PATH,
|
|
|
|
| 40 |
local_files_only=True
|
| 41 |
)
|
| 42 |
+
logger.info(f"Successfully loaded model for MGZON/mgzon-flan-t5-base")
|
| 43 |
except Exception as e:
|
| 44 |
+
logger.error(f"Failed to load T5 model from {T5_MODEL_PATH}: {str(e)}")
|
| 45 |
+
raise RuntimeError(f"Failed to load T5 model from {T5_MODEL_PATH}: {str(e)}")
|
| 46 |
|
| 47 |
# Load Mistral GGUF model
|
| 48 |
gguf_path = os.path.abspath("models/mistral-7b-instruct-v0.1.Q4_K_M.gguf")
|