Spaces:
Sleeping
Sleeping
File size: 2,423 Bytes
a7bbba3 b19b1ca 48f468d a7bbba3 48f468d b19b1ca 48f468d a7bbba3 48f468d a7bbba3 91896dd a7bbba3 b19b1ca df49cb6 91896dd b19b1ca 91896dd b19b1ca 91896dd 08f4696 b19b1ca a7bbba3 041f67a |
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# Python 3.9 Slim ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
FROM python:3.9-slim
# ํ์ ํจํค์ง ๋ฐ ๋น๋ ๋๊ตฌ ์ค์น
# apt-get update: ํจํค์ง ๋ชฉ๋ก ์
๋ฐ์ดํธ
# git: GitHub ์ ์ฅ์ ํด๋ก ์ ํ์
# build-essential: C/C++ ์ปดํ์ผ๋ฌ (gcc, g++ ๋ฑ) ๋ฐ ๊ธฐํ ๋น๋ ๋๊ตฌ ํฌํจ
# curl: Rust ์ค์น ์คํฌ๋ฆฝํธ ๋ค์ด๋ก๋์ฉ
# libffi-dev, libssl-dev: ์ผ๋ถ Python ํจํค์ง(์: cryptography) ๋น๋ ์ ํ์ํ ์ ์์
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
build-essential \
curl \
libffi-dev \
libssl-dev \
&& rm -rf /var/lib/apt/lists/* # apt ์บ์ ์ ๋ฆฌํ์ฌ ์ด๋ฏธ์ง ํฌ๊ธฐ ์ค์ด๊ธฐ
# Rust ์ปดํ์ผ๋ฌ ์ค์น (tokenizers ๋น๋์ฉ)
# rustup์ Rust ๋๊ตฌ ์ฒด์ธ ๊ด๋ฆฌ์ ๊ณต์์ ์ธ ๋ฐฉ๋ฒ์
๋๋ค.
# -y: ๋ชจ๋ ํ๋กฌํํธ์ 'yes'๋ก ์๋ ์๋ต
# --default-toolchain stable: ์์ ์ ์ธ ์ต์ ํด์ฒด์ธ ์ค์น
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
# Rust์ ์คํ ํ์ผ ๊ฒฝ๋ก๋ฅผ PATH ํ๊ฒฝ ๋ณ์์ ์ถ๊ฐ
# rustup์ ๊ธฐ๋ณธ์ ์ผ๋ก /root/.cargo/bin์ ์ค์นํฉ๋๋ค.
ENV PATH="/root/.cargo/bin:${PATH}"
# ์์
๋๋ ํ ๋ฆฌ ์ค์
WORKDIR /app
# ์ ์ฒด ์ฝ๋ ๋ณต์ฌ (requirements.txt, main.py, .pkl ํ์ผ ๋ฑ)
COPY . .
# Python ํจํค์ง ์ค์น
# pip ์
๊ทธ๋ ์ด๋๋ฅผ ๋จผ์ ์ํํ์ฌ ์ต์ pip์ด wheel ํ์ผ์ ์ ์ฐพ๋๋ก ํฉ๋๋ค.
RUN pip install --no-cache-dir --upgrade pip
# ๋ชจ๋ ํจํค์ง๋ฅผ ํ ๋ฒ์ ์ค์นํ์ฌ ์์กด์ฑ ์ถฉ๋์ ์ต์ํํ๊ณ , ์ต์ ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค.
# --no-cache-dir: ์บ์๋ฅผ ์ฌ์ฉํ์ง ์์ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ์ค์
๋๋ค.
RUN pip install --no-cache-dir \
fastapi \
uvicorn \
torch==1.13.1 \
transformers==4.30.2 \
tokenizers==0.13.3 \
sentencepiece \
numpy==1.23.5 \
protobuf==3.20.3 \
psutil \
gluonnlp==0.10.0 \
mxnet-mkl==1.6.0 \
huggingface_hub \
git+https://github.com/SKTBrain/KOBERT#egg=kobert_tokenizer\&subdirectory=kobert_hf # ์ด ๋ถ๋ถ์ kobert_hf๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
# FastAPI ์ ํ๋ฆฌ์ผ์ด์
์คํ
# --host 0.0.0.0: ๋ชจ๋ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์์ ์ ๊ทผ ํ์ฉ
# --port 7860: ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ ํ ํฌํธ (Render๋ $PORT ํ๊ฒฝ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง๋ง, Dockerfile์์๋ ๊ณ ์ ํฌํธ ์ค์ )
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
|