Spaces:
Sleeping
Sleeping
| # 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"] | |