cutechicken commited on
Commit
e5e0be0
·
verified ·
1 Parent(s): a188372

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -7
app.py CHANGED
@@ -3,36 +3,42 @@ from dotenv import load_dotenv
3
  import gradio as gr
4
  from huggingface_hub import InferenceClient
5
  import pandas as pd
6
- from typing import List, Tuple
7
  import json
8
  from datetime import datetime
9
  import torch
10
  from transformers import AutoModelForCausalLM, AutoTokenizer
11
- import spaces
12
 
13
  # 환경 변수 설정
14
  HF_TOKEN = os.getenv("HF_TOKEN")
15
  MODEL_ID = "CohereForAI/c4ai-command-r-plus-08-2024"
16
 
17
- os.environ["TRANSFORMERS_CACHE"] = "/persistent/transformers_cache"
18
- os.environ["TORCH_HOME"] = "/persistent/torch_cache"
19
- os.environ["HF_HOME"] = "/persistent/huggingface"
 
 
20
 
21
  class ModelManager:
22
  def __init__(self):
23
- self.cache_dir = "/persistent/model_cache"
 
24
  self.model = None
25
  self.tokenizer = None
26
  self.setup_model()
27
 
28
  def setup_model(self):
29
  try:
 
30
  self.tokenizer = AutoTokenizer.from_pretrained(
31
  MODEL_ID,
32
  token=HF_TOKEN,
33
  trust_remote_code=True,
34
  cache_dir=self.cache_dir
35
  )
 
 
 
36
  self.model = AutoModelForCausalLM.from_pretrained(
37
  MODEL_ID,
38
  token=HF_TOKEN,
@@ -42,8 +48,21 @@ class ModelManager:
42
  low_cpu_mem_usage=True,
43
  cache_dir=self.cache_dir
44
  )
 
45
  except Exception as e:
46
- raise Exception(f"Model loading failed: {e}")
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
  class ChatHistory:
49
  def __init__(self):
 
3
  import gradio as gr
4
  from huggingface_hub import InferenceClient
5
  import pandas as pd
 
6
  import json
7
  from datetime import datetime
8
  import torch
9
  from transformers import AutoModelForCausalLM, AutoTokenizer
10
+ import tempfile
11
 
12
  # 환경 변수 설정
13
  HF_TOKEN = os.getenv("HF_TOKEN")
14
  MODEL_ID = "CohereForAI/c4ai-command-r-plus-08-2024"
15
 
16
+ # 임시 디렉토리 설정
17
+ TEMP_DIR = tempfile.mkdtemp()
18
+ os.environ["TRANSFORMERS_CACHE"] = os.path.join(TEMP_DIR, "transformers_cache")
19
+ os.environ["TORCH_HOME"] = os.path.join(TEMP_DIR, "torch_cache")
20
+ os.environ["HF_HOME"] = os.path.join(TEMP_DIR, "huggingface")
21
 
22
  class ModelManager:
23
  def __init__(self):
24
+ self.cache_dir = os.path.join(TEMP_DIR, "model_cache")
25
+ os.makedirs(self.cache_dir, exist_ok=True)
26
  self.model = None
27
  self.tokenizer = None
28
  self.setup_model()
29
 
30
  def setup_model(self):
31
  try:
32
+ print("토크나이저 로딩 시작...")
33
  self.tokenizer = AutoTokenizer.from_pretrained(
34
  MODEL_ID,
35
  token=HF_TOKEN,
36
  trust_remote_code=True,
37
  cache_dir=self.cache_dir
38
  )
39
+ print("토크나이저 로딩 완료")
40
+
41
+ print("모델 로딩 시작...")
42
  self.model = AutoModelForCausalLM.from_pretrained(
43
  MODEL_ID,
44
  token=HF_TOKEN,
 
48
  low_cpu_mem_usage=True,
49
  cache_dir=self.cache_dir
50
  )
51
+ print("모델 로딩 완료")
52
  except Exception as e:
53
+ print(f"모델 로딩 오류 발생: {e}")
54
+ try:
55
+ print("기본 설정으로 다시 시도...")
56
+ self.model = AutoModelForCausalLM.from_pretrained(
57
+ MODEL_ID,
58
+ token=HF_TOKEN,
59
+ torch_dtype=torch.float16,
60
+ trust_remote_code=True,
61
+ cache_dir=self.cache_dir
62
+ )
63
+ print("기본 설정으로 모델 로딩 완료")
64
+ except Exception as e2:
65
+ raise Exception(f"모델 로딩 완전히 실패: {e2}")
66
 
67
  class ChatHistory:
68
  def __init__(self):