kundan621 commited on
Commit
474e992
·
1 Parent(s): 84f695c

Fix all cache directory permission issues for HuggingFace Spaces

Browse files
Files changed (3) hide show
  1. app.py +8 -0
  2. src/search_final.py +28 -0
  3. src/streamlit_app.py +12 -0
app.py CHANGED
@@ -6,10 +6,18 @@ import sys
6
  os.environ["STREAMLIT_CONFIG_DIR"] = "/tmp/.streamlit"
7
  os.environ["STREAMLIT_DATA_DIR"] = "/tmp/.streamlit"
8
  os.environ["NLTK_DATA"] = "/tmp/nltk_data"
 
 
 
 
9
 
10
  # Create directories
11
  os.makedirs("/tmp/.streamlit", exist_ok=True)
12
  os.makedirs("/tmp/nltk_data", exist_ok=True)
 
 
 
 
13
 
14
  # Copy config if it exists
15
  try:
 
6
  os.environ["STREAMLIT_CONFIG_DIR"] = "/tmp/.streamlit"
7
  os.environ["STREAMLIT_DATA_DIR"] = "/tmp/.streamlit"
8
  os.environ["NLTK_DATA"] = "/tmp/nltk_data"
9
+ os.environ["HF_HOME"] = "/tmp/huggingface"
10
+ os.environ["TRANSFORMERS_CACHE"] = "/tmp/huggingface/transformers"
11
+ os.environ["SENTENCE_TRANSFORMERS_HOME"] = "/tmp/huggingface/sentence_transformers"
12
+ os.environ["HF_HUB_CACHE"] = "/tmp/huggingface/hub"
13
 
14
  # Create directories
15
  os.makedirs("/tmp/.streamlit", exist_ok=True)
16
  os.makedirs("/tmp/nltk_data", exist_ok=True)
17
+ os.makedirs("/tmp/huggingface", exist_ok=True)
18
+ os.makedirs("/tmp/huggingface/transformers", exist_ok=True)
19
+ os.makedirs("/tmp/huggingface/sentence_transformers", exist_ok=True)
20
+ os.makedirs("/tmp/huggingface/hub", exist_ok=True)
21
 
22
  # Copy config if it exists
23
  try:
src/search_final.py CHANGED
@@ -1,6 +1,34 @@
1
 
2
  import os
3
  from dotenv import load_dotenv
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  import re
5
  import pickle
6
  import faiss
 
1
 
2
  import os
3
  from dotenv import load_dotenv
4
+
5
+ # Set cache directories for HuggingFace Spaces compatibility BEFORE any imports
6
+ if not os.getenv("HF_HOME"):
7
+ os.environ["HF_HOME"] = "/tmp/huggingface"
8
+ if not os.getenv("TRANSFORMERS_CACHE"):
9
+ os.environ["TRANSFORMERS_CACHE"] = "/tmp/huggingface/transformers"
10
+ if not os.getenv("SENTENCE_TRANSFORMERS_HOME"):
11
+ os.environ["SENTENCE_TRANSFORMERS_HOME"] = "/tmp/huggingface/sentence_transformers"
12
+ if not os.getenv("HF_HUB_CACHE"):
13
+ os.environ["HF_HUB_CACHE"] = "/tmp/huggingface/hub"
14
+ if not os.getenv("NLTK_DATA"):
15
+ os.environ["NLTK_DATA"] = "/tmp/nltk_data"
16
+ if not os.getenv("TORCH_HOME"):
17
+ os.environ["TORCH_HOME"] = "/tmp/torch"
18
+ if not os.getenv("HUGGINGFACE_HUB_CACHE"):
19
+ os.environ["HUGGINGFACE_HUB_CACHE"] = "/tmp/huggingface/hub"
20
+
21
+ # Create cache directories
22
+ try:
23
+ os.makedirs("/tmp/huggingface", exist_ok=True)
24
+ os.makedirs("/tmp/huggingface/transformers", exist_ok=True)
25
+ os.makedirs("/tmp/huggingface/sentence_transformers", exist_ok=True)
26
+ os.makedirs("/tmp/huggingface/hub", exist_ok=True)
27
+ os.makedirs("/tmp/nltk_data", exist_ok=True)
28
+ os.makedirs("/tmp/torch", exist_ok=True)
29
+ except Exception as e:
30
+ print(f"Warning: Could not create cache directories: {e}")
31
+
32
  import re
33
  import pickle
34
  import faiss
src/streamlit_app.py CHANGED
@@ -12,10 +12,22 @@ if not os.getenv("STREAMLIT_DATA_DIR"):
12
  os.environ["STREAMLIT_DATA_DIR"] = "/tmp/.streamlit"
13
  if not os.getenv("NLTK_DATA"):
14
  os.environ["NLTK_DATA"] = "/tmp/nltk_data"
 
 
 
 
 
 
 
 
15
 
16
  # Create directories
17
  os.makedirs("/tmp/.streamlit", exist_ok=True)
18
  os.makedirs("/tmp/nltk_data", exist_ok=True)
 
 
 
 
19
 
20
  try:
21
  from transformers import AutoModelForCausalLM, AutoTokenizer
 
12
  os.environ["STREAMLIT_DATA_DIR"] = "/tmp/.streamlit"
13
  if not os.getenv("NLTK_DATA"):
14
  os.environ["NLTK_DATA"] = "/tmp/nltk_data"
15
+ if not os.getenv("HF_HOME"):
16
+ os.environ["HF_HOME"] = "/tmp/huggingface"
17
+ if not os.getenv("TRANSFORMERS_CACHE"):
18
+ os.environ["TRANSFORMERS_CACHE"] = "/tmp/huggingface/transformers"
19
+ if not os.getenv("SENTENCE_TRANSFORMERS_HOME"):
20
+ os.environ["SENTENCE_TRANSFORMERS_HOME"] = "/tmp/huggingface/sentence_transformers"
21
+ if not os.getenv("HF_HUB_CACHE"):
22
+ os.environ["HF_HUB_CACHE"] = "/tmp/huggingface/hub"
23
 
24
  # Create directories
25
  os.makedirs("/tmp/.streamlit", exist_ok=True)
26
  os.makedirs("/tmp/nltk_data", exist_ok=True)
27
+ os.makedirs("/tmp/huggingface", exist_ok=True)
28
+ os.makedirs("/tmp/huggingface/transformers", exist_ok=True)
29
+ os.makedirs("/tmp/huggingface/sentence_transformers", exist_ok=True)
30
+ os.makedirs("/tmp/huggingface/hub", exist_ok=True)
31
 
32
  try:
33
  from transformers import AutoModelForCausalLM, AutoTokenizer