srinuksv commited on
Commit
a826c8d
·
verified ·
1 Parent(s): 668d4a6

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +69 -10
Dockerfile CHANGED
@@ -1,14 +1,73 @@
1
- FROM python:3.11
 
 
2
 
3
- # Update package list and install Python & pip
4
- RUN useradd -m -u 1010 user
5
- USER user
6
- ENV PATH="/home/user/.local/bin:$PATH"
 
7
 
8
- WORKDIR /app
 
 
 
 
9
 
10
- COPY --chown=user ./requirements.txt requirements.txt
11
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
- COPY --chown=user . /app
14
- CMD ["python", "app.py"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+ #
3
+ # This script will automatically pull docker image from DockerHub, and start a daemon container to run the Qwen-Chat web-demo.
4
 
5
+ IMAGE_NAME=qwenllm/qwen-omni:2.5-cu121
6
+ QWEN_CHECKPOINT_PATH=/path/to/Qwen2.5-Omni-7B
7
+ PORT=8901
8
+ CONTAINER_NAME=qwen2.5-omni
9
+ FLASH_ATTN=0
10
 
11
+ function usage() {
12
+ echo '
13
+ Usage: bash docker/docker_web_demo.sh [-i IMAGE_NAME] -c [/path/to/Qwen-Instruct] [-n CONTAINER_NAME] [--port PORT] [--flash-attn2]
14
+ '
15
+ }
16
 
17
+ while [[ "$1" != "" ]]; do
18
+ case $1 in
19
+ -i | --image-name )
20
+ shift
21
+ IMAGE_NAME=$1
22
+ ;;
23
+ -c | --checkpoint )
24
+ shift
25
+ QWEN_CHECKPOINT_PATH=$1
26
+ ;;
27
+ -n | --container-name )
28
+ shift
29
+ CONTAINER_NAME=$1
30
+ ;;
31
+ --port )
32
+ shift
33
+ PORT=$1
34
+ ;;
35
+ --flash-attn2 )
36
+ FLASH_ATTN=1
37
+ ;;
38
+ -h | --help )
39
+ usage
40
+ exit 0
41
+ ;;
42
+ * )
43
+ echo "Unknown argument ${1}"
44
+ exit 1
45
+ ;;
46
+ esac
47
+ shift
48
+ done
49
 
50
+ if [ ! -e ${QWEN_CHECKPOINT_PATH}/config.json ]; then
51
+ echo "Checkpoint config.json file not found in ${QWEN_CHECKPOINT_PATH}, exit."
52
+ exit 1
53
+ fi
54
+
55
+ sudo docker pull ${IMAGE_NAME} || {
56
+ echo "Pulling image ${IMAGE_NAME} failed, exit."
57
+ exit 1
58
+ }
59
+
60
+ WEB_DEMO_ARGS="--server-port 80 --server-name 0.0.0.0 -c /data/shared/Qwen/Qwen2.5-Omni-7B"
61
+ if [ ${FLASH_ATTN} -eq 1 ]; then
62
+ WEB_DEMO_ARGS+=" --flash-attn2"
63
+ fi
64
+
65
+ sudo docker run --gpus all -d --restart always --name ${CONTAINER_NAME} \
66
+ -v /var/run/docker.sock:/var/run/docker.sock -p ${PORT}:80 \
67
+ --mount type=bind,source=${QWEN_CHECKPOINT_PATH},target=/data/shared/Qwen/Qwen2.5-Omni-7B \
68
+ -it ${IMAGE_NAME} \
69
+ python web_demo.py ${WEB_DEMO_ARGS} && {
70
+ echo "Successfully started web demo. Open 'http://localhost:${PORT}' to try!
71
+ Run \`docker logs ${CONTAINER_NAME}\` to check demo status.
72
+ Run \`docker rm -f ${CONTAINER_NAME}\` to stop and remove the demo."
73
+ }