generated from tensorchord/modelz-template-mosec
-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Ce Gao <cegao@tensorchord.ai>
- Loading branch information
Showing
5 changed files
with
100 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
ARG base=nvidia/cuda:11.6.2-cudnn8-runtime-ubuntu20.04 | ||
|
||
FROM ${base} | ||
|
||
ENV DEBIAN_FRONTEND=noninteractive LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 | ||
ENV PATH /opt/conda/bin:$PATH | ||
|
||
ENV MODELZ_MODEL=THUDM/chatglm-6b | ||
ENV MODELZ_TOKENIZER=THUDM/chatglm-6b | ||
|
||
ARG MOSEC_PORT=8080 | ||
ENV MOSEC_PORT=${MOSEC_PORT} | ||
|
||
ARG CONDA_VERSION=py310_22.11.1-1 | ||
|
||
RUN apt update && \ | ||
apt install -y --no-install-recommends \ | ||
wget \ | ||
build-essential \ | ||
ca-certificates && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN set -x && \ | ||
UNAME_M="$(uname -m)" && \ | ||
if [ "${UNAME_M}" = "x86_64" ]; then \ | ||
MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-x86_64.sh"; \ | ||
SHA256SUM="00938c3534750a0e4069499baf8f4e6dc1c2e471c86a59caa0dd03f4a9269db6"; \ | ||
elif [ "${UNAME_M}" = "s390x" ]; then \ | ||
MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-s390x.sh"; \ | ||
SHA256SUM="a150511e7fd19d07b770f278fb5dd2df4bc24a8f55f06d6274774f209a36c766"; \ | ||
elif [ "${UNAME_M}" = "aarch64" ]; then \ | ||
MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-aarch64.sh"; \ | ||
SHA256SUM="48a96df9ff56f7421b6dd7f9f71d548023847ba918c3826059918c08326c2017"; \ | ||
elif [ "${UNAME_M}" = "ppc64le" ]; then \ | ||
MINICONDA_URL="https://repo.anaconda.com/miniconda/Miniconda3-${CONDA_VERSION}-Linux-ppc64le.sh"; \ | ||
SHA256SUM="4c86c3383bb27b44f7059336c3a46c34922df42824577b93eadecefbf7423836"; \ | ||
fi && \ | ||
wget "${MINICONDA_URL}" -O miniconda.sh -q && \ | ||
echo "${SHA256SUM} miniconda.sh" > shasum && \ | ||
if [ "${CONDA_VERSION}" != "latest" ]; then sha256sum --check --status shasum; fi && \ | ||
mkdir -p /opt && \ | ||
bash miniconda.sh -b -p /opt/conda && \ | ||
rm miniconda.sh shasum && \ | ||
ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ | ||
echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \ | ||
echo "conda activate base" >> ~/.bashrc && \ | ||
find /opt/conda/ -follow -type f -name '*.a' -delete && \ | ||
find /opt/conda/ -follow -type f -name '*.js.map' -delete && \ | ||
/opt/conda/bin/conda clean -afy | ||
|
||
RUN conda create -n envd python=3.9 | ||
|
||
ENV ENVD_PREFIX=/opt/conda/envs/envd/bin | ||
|
||
RUN update-alternatives --install /usr/bin/python python ${ENVD_PREFIX}/python 1 && \ | ||
update-alternatives --install /usr/bin/python3 python3 ${ENVD_PREFIX}/python3 1 && \ | ||
update-alternatives --install /usr/bin/pip pip ${ENVD_PREFIX}/pip 1 && \ | ||
update-alternatives --install /usr/bin/pip3 pip3 ${ENVD_PREFIX}/pip3 1 | ||
|
||
COPY requirements.txt / | ||
|
||
RUN pip install -r requirements.txt | ||
|
||
RUN mkdir -p /workspace | ||
|
||
COPY main.py workspace/ | ||
|
||
WORKDIR /workspace | ||
|
||
# RUN python main.py --dry-run | ||
|
||
# # disable huggingface update check (could be very slow) | ||
# ENV HF_HUB_OFFLINE=true | ||
|
||
ENTRYPOINT [ "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080", "--workers", "1" ] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters