Subi003 commited on
Commit
fae6e3f
·
verified ·
1 Parent(s): d912bd8

Upload folder using huggingface_hub

Browse files
Files changed (3) hide show
  1. Dockerfile +1 -1
  2. main/helper.py +22 -3
  3. requirements.txt +2 -1
Dockerfile CHANGED
@@ -10,4 +10,4 @@ RUN pip install -r requirements.txt
10
 
11
  EXPOSE 7860
12
 
13
- CMD ["uvicorn", "main:model_inference:inference_api", "--host", "0.0.0.0", "--port", "7860"]
 
10
 
11
  EXPOSE 7860
12
 
13
+ CMD ["uvicorn", "main.model_inference:inference_api", "--host", "0.0.0.0", "--port", "7860"]
main/helper.py CHANGED
@@ -1,7 +1,17 @@
1
  # Helper functions for the model inference api
 
2
  import yaml
3
  import joblib
4
  from pathlib import Path
 
 
 
 
 
 
 
 
 
5
 
6
  # load yaml files to get model meta data.
7
  try:
@@ -14,12 +24,21 @@ except:
14
  def load_model():
15
  """ Loads ML model from location path and returns the model. """
16
  try:
17
- with open(Path("serve_api/model/python_model.pkl"), "rb") as f:
 
 
 
 
 
 
 
 
18
  model = joblib.load(f)
 
19
  return model
20
 
21
- except:
22
- raise FileNotFoundError("Failed to load model")
23
 
24
 
25
  def get_model_registry():
 
1
  # Helper functions for the model inference api
2
+ import os
3
  import yaml
4
  import joblib
5
  from pathlib import Path
6
+ from huggingface_hub import snapshot_download
7
+ from dotenv import load_dotenv
8
+ load_dotenv()
9
+
10
+ # get environment variable
11
+ hf_repo_id = os.getenv("HUGGINGFACE_REPO_ID")
12
+ if not hf_repo_id:
13
+ raise EnvironmentError("HUGGINGFACE_REPO_ID is not set")
14
+
15
 
16
  # load yaml files to get model meta data.
17
  try:
 
24
  def load_model():
25
  """ Loads ML model from location path and returns the model. """
26
  try:
27
+ model_dir = snapshot_download(
28
+ repo_id = str(hf_repo_id),
29
+ repo_type = "model",
30
+ local_dir = "/tmp/model",
31
+ local_dir_use_symlinks = False
32
+ )
33
+
34
+ model_path = Path(model_dir)/"python_model.pkl"
35
+ with open(model_path, "rb") as f:
36
  model = joblib.load(f)
37
+
38
  return model
39
 
40
+ except Exception as e:
41
+ raise RuntimeError(f"Failed to load model from hub: {e}")
42
 
43
 
44
  def get_model_registry():
requirements.txt CHANGED
@@ -1,4 +1,5 @@
1
  fastapi==0.116.1
2
  uvicorn==0.35.0
3
  joblib==1.5.1
4
- PyYAML==6.0.2
 
 
1
  fastapi==0.116.1
2
  uvicorn==0.35.0
3
  joblib==1.5.1
4
+ PyYAML==6.0.2
5
+ python-dotenv==1.1.1