File size: 971 Bytes
8f85575
 
 
 
 
 
 
f4b9f06
8f85575
 
 
 
f4b9f06
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8f85575
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
FROM python:3.11-slim

WORKDIR /code

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# HF_HOME을 먼저 설정 → snapshot_download가 올바른 위치에 저장
ENV HF_HOME=/code/cache \
    TRANSFORMERS_CACHE=/code/cache \
    PORT=7860

# 빌드 시점에 모델 다운로드 (이 레이어는 캐시됨 — requirements.txt/Dockerfile 변경 시만 재실행)
# 코드(app.py, index.html 등)만 바꾸면 이 레이어는 그대로 재사용됨
RUN python -c "\
from huggingface_hub import snapshot_download; \
snapshot_download( \
    'onnx-community/EXAONE-3.5-2.4B-Instruct', \
    allow_patterns=[ \
        'config.json', \
        'generation_config.json', \
        'tokenizer.json', \
        'tokenizer_config.json', \
        'special_tokens_map.json', \
        'onnx/model_q4.onnx', \
        'onnx/model_q4.onnx_data', \
    ] \
)"

COPY . .

EXPOSE 7860

CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]