성현 김 commited on
Commit
ba5a5ec
·
1 Parent(s): 2b484ea

Set cache ENV vars in Dockerfile, removed cache_folder arg from HuggingFaceEmbeddings

Browse files
Files changed (2) hide show
  1. Dockerfile +6 -1
  2. app/app.py +9 -5
Dockerfile CHANGED
@@ -41,7 +41,12 @@ COPY ./chroma_db_data /app/chroma_db_data
41
  ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
42
  # ENV PYTHONUNBUFFERED=1 # 로그 즉시 확인 등에 유용
43
  # ENV PROJECT_ROOT=/app
44
-
 
 
 
 
 
45
  # 7. 실행할 포트 설정
46
  EXPOSE 7860
47
 
 
41
  ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
42
  # ENV PYTHONUNBUFFERED=1 # 로그 즉시 확인 등에 유용
43
  # ENV PROJECT_ROOT=/app
44
+ # ... (ENV JAVA_HOME 이전 또는 이후)
45
+ ENV HF_HOME=/app/cache/huggingface
46
+ ENV HF_HUB_CACHE=/app/cache/huggingface/hub
47
+ ENV TRANSFORMERS_CACHE=/app/cache/huggingface/transformers
48
+ ENV SENTENCE_TRANSFORMERS_HOME=/app/cache/huggingface/sentence_transformers
49
+ # (필요하다면 RUN mkdir -p /app/cache/huggingface 와 같이 폴더 생성 명령 추가)
50
  # 7. 실행할 포트 설정
51
  EXPOSE 7860
52
 
app/app.py CHANGED
@@ -120,11 +120,15 @@ def load_models_and_setup():
120
 
121
  print("\n⏳ 모델 로딩 시작...")
122
  start_load_time = time.time()
123
- try:
124
- embedding_model = HuggingFaceEmbeddings(model_name=EMBEDDING_MODEL_NAME, model_kwargs={'device': DEVICE})
125
- print(f"✅ 임베딩 모델 로드 완료 ({EMBEDDING_MODEL_NAME})")
126
- except Exception as e:
127
- print(f"🚨🚨🚨 임베딩 모델 로딩 실패 (치명적): {e}"); raise # API 핵심 기능이므로 예외 발생
 
 
 
 
128
  try:
129
  trans_tokenizer = AutoTokenizer.from_pretrained(TRANSLATION_MODEL_NAME)
130
  trans_model = AutoModelForSeq2SeqLM.from_pretrained(TRANSLATION_MODEL_NAME).to(DEVICE)
 
120
 
121
  print("\n⏳ 모델 로딩 시작...")
122
  start_load_time = time.time()
123
+ try:
124
+ embedding_model = HuggingFaceEmbeddings(
125
+ model_name=EMBEDDING_MODEL_NAME,
126
+ model_kwargs={'device': DEVICE}
127
+ # cache_folder="/app/cache/huggingface_embeddings" # <--- 줄은 일단 삭제 또는 주석 처리
128
+ )
129
+ print(f"✅ 임베딩 모델 로드 완료 ({EMBEDDING_MODEL_NAME})")
130
+ except Exception as e:
131
+ print(f"🚨🚨🚨 임베딩 모델 로딩 실패 (치명적): {e}"); raise
132
  try:
133
  trans_tokenizer = AutoTokenizer.from_pretrained(TRANSLATION_MODEL_NAME)
134
  trans_model = AutoModelForSeq2SeqLM.from_pretrained(TRANSLATION_MODEL_NAME).to(DEVICE)