Spaces:
Build error
Build error
Update Dockerfile
Browse files- Dockerfile +69 -10
Dockerfile
CHANGED
@@ -1,14 +1,73 @@
|
|
1 |
-
|
|
|
|
|
2 |
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
|
|
7 |
|
8 |
-
|
|
|
|
|
|
|
|
|
9 |
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
}
|