Spaces:
Sleeping
Sleeping
| # 1. ํ์ด์ฌ ์ด๋ฏธ์ง๋ฅผ ์ง์ . | |
| FROM python:3.9 | |
| # 2. C++ ์ปดํ์ผ๋ฌ(gcc/g++) ๋ฒ์ 11๊ณผ ํ์ ๋น๋ ๋๊ตฌ๋ค์ ์ค์น. | |
| RUN apt-get update && apt-get install -y build-essential gcc-11 g++-11 cmake | |
| # 3. ํ์ด์ฌ์ ํจํค์ง ์ค์น ๋๊ตฌ(pip) ์์ฒด๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋. | |
| RUN python3 -m pip install --upgrade pip setuptools wheel | |
| # 4. ์ปจํ ์ด๋ ๋ด๋ถ์ ์ฝ๋๋ฅผ ์ ์ฅํ ์์ ํด๋๋ฅผ ๋ง๋ฆ. | |
| WORKDIR /app | |
| # 5. ๋ณด์์ ์ํด ๊ถํ์ด ์ ํ๋ ์ฌ์ฉ์(user)๋ฅผ ์์ฑํ๊ณ ์์ ๊ถ์ ์ด์ . | |
| RUN useradd -m -u 1000 user | |
| RUN chown -R user:user /app | |
| USER user | |
| # 6. ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ . | |
| ENV PATH="/home/user/.local/bin:${PATH}" | |
| # 7. requirements.txt ํ์ผ์ ๋ณต์ฌ. | |
| COPY --chown=user ./requirements.txt requirements.txt | |
| # 8. llama-cpp-python์ '๋๋ํ๊ฒ' ์ค์นํ๊ธฐ ์ํ ๋ชจ๋ ์ต์ ์ ์ค์ . | |
| # - CMAKE_ARGS: ๋ถํ์ํ GPU ์ต์ ์ ๋ชจ๋ ๋. | |
| # - FORCE_CMAKE=1: CMake๋ฅผ ๊ฐ์ ๋ก ์ฌ์ฉํ๋๋ก ํจ. | |
| # - CC/CXX: ๋ฐฉ๊ธ ์ค์นํ gcc-11/g++-11์ ์ปดํ์ผ๋ฌ๋ก ๋ช ์์ ์ผ๋ก ์ง์ . | |
| ARG CMAKE_ARGS="-DLLAMA_CUBLAS=OFF -DLLAMA_HIPBLAS=OFF -DLLAMA_OPENBLAS=OFF" | |
| ENV FORCE_CMAKE=1 | |
| ENV CC=gcc-11 | |
| ENV CXX=g++-11 | |
| # 9. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น. | |
| RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt | |
| # 10. ๋๋จธ์ง ๋ชจ๋ ์์ค ์ฝ๋๋ฅผ ์์ ํด๋์ ๋ณต์ฌ. | |
| COPY --chown=user . /app | |
| # 11. ๋ชจ๋ ์ค๋น๊ฐ ๋๋๋ฉด, ์๋ฒ๋ฅผ ์คํ. | |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |