@@ -18,115 +18,119 @@ LOG_PATH="$WORKPATH/tests/logs"
18
18
ip_address=$( hostname -I | awk ' {print $1}' )
19
19
20
20
function build_docker_images() {
21
- opea_branch=${opea_branch:- " main" }
22
-
23
- cd $WORKPATH /docker_image_build
24
- git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
25
- pushd GenAIComps
26
- echo " GenAIComps test commit is $( git rev-parse HEAD) "
27
- docker build --no-cache -t ${REGISTRY} /comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile .
28
- popd && sleep 1s
29
-
30
- git clone https://github.com/vllm-project/vllm.git
31
- cd ./vllm/
32
- VLLM_VER=v0.9.0.1
33
- echo " Check out vLLM tag ${VLLM_VER} "
34
- git checkout ${VLLM_VER} & > /dev/null && cd ../
35
-
36
- echo " Build all the images with --no-cache, check docker_image_build.log for details..."
37
- service_list=" audioqna-multilang audioqna-ui whisper gpt-sovits vllm"
38
- docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH} /docker_image_build.log
39
-
40
- docker images && sleep 1s
21
+ opea_branch=${opea_branch:- " main" }
22
+
23
+ cd $WORKPATH /docker_image_build
24
+ git clone --depth 1 --branch ${opea_branch} https://github.com/opea-project/GenAIComps.git
25
+ pushd GenAIComps
26
+ echo " GenAIComps test commit is $( git rev-parse HEAD) "
27
+ docker build --no-cache -t ${REGISTRY} /comps-base:${TAG} --build-arg https_proxy=$https_proxy --build-arg http_proxy=$http_proxy -f Dockerfile .
28
+ popd && sleep 1s
29
+
30
+ git clone https://github.com/vllm-project/vllm.git
31
+ cd ./vllm/
32
+ VLLM_VER=v0.9.0.1
33
+ echo " Check out vLLM tag ${VLLM_VER} "
34
+ git checkout ${VLLM_VER} & > /dev/null
35
+ VLLM_REQ_FILE=" requirements/cpu.txt"
36
+ if ! grep -q " ^transformers" " $VLLM_REQ_FILE " ; then
37
+ echo " Adding transformers<4.54.0 to $VLLM_REQ_FILE "
38
+ echo " transformers<4.54.0" >> " $VLLM_REQ_FILE "
39
+ fi
40
+ cd ../
41
+
42
+ echo " Build all the images with --no-cache, check docker_image_build.log for details..."
43
+ service_list=" audioqna-multilang audioqna-ui whisper gpt-sovits vllm"
44
+ docker compose -f build.yaml build ${service_list} --no-cache > ${LOG_PATH} /docker_image_build.log
45
+
46
+ docker images && sleep 1s
41
47
}
42
48
43
49
function start_services() {
44
- cd $WORKPATH /docker_compose/amd/cpu/epyc/
45
- export host_ip=${ip_address}
46
- source set_env.sh
47
- # sed -i "s/backend_address/$ip_address/g" $WORKPATH/ui/svelte/.env
48
-
49
- # Start Docker Containers
50
- docker compose -f compose_multilang.yaml up -d > ${LOG_PATH} /start_services_with_compose.log
51
- n=0
52
- until [[ " $n " -ge 200 ]]; do
53
- docker logs vllm-service > $LOG_PATH /vllm_service_start.log 2>&1
54
- if grep -q complete $LOG_PATH /vllm_service_start.log; then
55
- break
56
- fi
57
- sleep 5s
58
- n=$(( n+ 1 ))
59
- done
50
+ cd $WORKPATH /docker_compose/amd/cpu/epyc/
51
+ export host_ip=${ip_address}
52
+ source set_env.sh
53
+ # sed -i "s/backend_address/$ip_address/g" $WORKPATH/ui/svelte/.env
54
+
55
+ # Start Docker Containers
56
+ docker compose -f compose_multilang.yaml up -d > ${LOG_PATH} /start_services_with_compose.log
57
+ n=0
58
+ until [[ " $n " -ge 200 ]]; do
59
+ docker logs vllm-service > $LOG_PATH /vllm_service_start.log 2>&1
60
+ if grep -q complete $LOG_PATH /vllm_service_start.log; then
61
+ break
62
+ fi
63
+ sleep 5s
64
+ n=$(( n + 1 ))
65
+ done
60
66
}
61
67
62
-
63
68
function validate_megaservice() {
64
- sleep 120s
65
- response=$( http_proxy=" " curl --max-time 60 http://${ip_address} :3008/v1/audioqna -XPOST -d ' {"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H ' Content-Type: application/json' )
66
-
67
- if ! echo " $response " | sed ' s/^"//;s/"$//' | base64 -d > speech.mp3 2> /dev/null || ! file speech.mp3 | grep -q " RIFF" ; then
68
- echo " Retrying..."
69
- sleep 120s
70
- response=$( http_proxy=" " curl http://${ip_address} :3008/v1/audioqna -XPOST -d ' {"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H ' Content-Type: application/json' )
71
-
72
- if echo " $response " | sed ' s/^"//;s/"$//' | base64 -d > speech.mp3 2> /dev/null && file speech.mp3 | grep -q " RIFF" ; then
73
- echo " Retry succeeded."
74
- else
75
- echo " Retry failed. Invalid response."
76
- exit 1
77
- fi
78
- else
79
- echo " First attempt succeeded."
80
- fi
81
- # always print the log
82
- docker logs whisper-service > $LOG_PATH /whisper-service.log
83
- docker logs gpt-sovits-service > $LOG_PATH /tts-service.log
84
- docker logs vllm-service > $LOG_PATH /vllm-service.log
85
- docker logs audioqna-epyc-backend-server > $LOG_PATH /audioqna-epyc-backend-server.log
86
- echo " $response " | sed ' s/^"//;s/"$//' | base64 -d > speech.mp3
87
-
88
- if [[ $( file speech.mp3) == * " RIFF" * ]]; then
89
- echo " Result correct."
90
- else
91
- echo " Result wrong."
92
- exit 1
93
- fi
69
+ sleep 120s
70
+ response=$( http_proxy=" " curl --max-time 60 http://${ip_address} :3008/v1/audioqna -XPOST -d ' {"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H ' Content-Type: application/json' )
71
+
72
+ if ! echo " $response " | sed ' s/^"//;s/"$//' | base64 -d > speech.mp3 2> /dev/null || ! file speech.mp3 | grep -q " RIFF" ; then
73
+ echo " Retrying..."
74
+ sleep 120s
75
+ response=$( http_proxy=" " curl http://${ip_address} :3008/v1/audioqna -XPOST -d ' {"audio": "UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA", "max_tokens":64}' -H ' Content-Type: application/json' )
76
+
77
+ if echo " $response " | sed ' s/^"//;s/"$//' | base64 -d > speech.mp3 2> /dev/null && file speech.mp3 | grep -q " RIFF" ; then
78
+ echo " Retry succeeded."
79
+ else
80
+ echo " Retry failed. Invalid response."
81
+ exit 1
82
+ fi
83
+ else
84
+ echo " First attempt succeeded."
85
+ fi
86
+ # always print the log
87
+ docker logs whisper-service > $LOG_PATH /whisper-service.log
88
+ docker logs gpt-sovits-service > $LOG_PATH /tts-service.log
89
+ docker logs vllm-service > $LOG_PATH /vllm-service.log
90
+ docker logs audioqna-epyc-backend-server > $LOG_PATH /audioqna-epyc-backend-server.log
91
+ echo " $response " | sed ' s/^"//;s/"$//' | base64 -d > speech.mp3
92
+
93
+ if [[ $( file speech.mp3) == * " RIFF" * ]]; then
94
+ echo " Result correct."
95
+ else
96
+ echo " Result wrong."
97
+ exit 1
98
+ fi
94
99
95
100
}
96
101
97
-
98
102
function stop_docker() {
99
- cd $WORKPATH /docker_compose/amd/cpu/epyc/
100
- docker compose -f compose_multilang.yaml stop && docker compose rm -f
103
+ cd $WORKPATH /docker_compose/amd/cpu/epyc/
104
+ docker compose -f compose_multilang.yaml stop && docker compose rm -f
101
105
}
102
106
103
107
function main() {
104
108
105
- echo " ::group::stop_docker"
106
- stop_docker
107
- docker system prune -f
108
- echo " ::endgroup::"
109
- sleep 3s
110
-
111
- echo " ::group::build_docker_images"
112
- if [[ " $IMAGE_REPO " == " opea" ]]; then build_docker_images; fi
113
- echo " ::endgroup::"
114
- sleep 3s
115
-
116
- echo " ::group::start_services"
117
- start_services
118
- echo " ::endgroup::"
119
- sleep 120s
120
-
121
- echo " ::group::validate_megaservice"
122
- validate_megaservice
123
- echo " ::endgroup::"
124
- sleep 3s
125
-
126
- echo " ::group::stop_docker"
127
- stop_docker
128
- docker system prune -f
129
- echo " ::endgroup::"
109
+ echo " ::group::stop_docker"
110
+ stop_docker
111
+ docker system prune -f
112
+ echo " ::endgroup::"
113
+ sleep 3s
114
+
115
+ echo " ::group::build_docker_images"
116
+ if [[ " $IMAGE_REPO " == " opea" ]]; then build_docker_images; fi
117
+ echo " ::endgroup::"
118
+ sleep 3s
119
+
120
+ echo " ::group::start_services"
121
+ start_services
122
+ echo " ::endgroup::"
123
+ sleep 120s
124
+
125
+ echo " ::group::validate_megaservice"
126
+ validate_megaservice
127
+ echo " ::endgroup::"
128
+ sleep 3s
129
+
130
+ echo " ::group::stop_docker"
131
+ stop_docker
132
+ docker system prune -f
133
+ echo " ::endgroup::"
130
134
131
135
}
132
136
0 commit comments