From ba28a9f37a93e635aa385cfa9896c4d58f42c9d7 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Wed, 7 May 2025 16:08:02 +0800 Subject: [PATCH 1/6] Integrate DBQnA set_env to ut scripts. Signed-off-by: ZePan110 --- DBQnA/docker_compose/amd/gpu/rocm/set_env.sh | 5 +++-- DBQnA/docker_compose/set_env.sh | 10 +++++++++- DBQnA/tests/README.md | 21 ++++++++++++++++++++ DBQnA/tests/test_compose_on_rocm.sh | 15 ++------------ DBQnA/tests/test_compose_on_xeon.sh | 13 +++--------- 5 files changed, 38 insertions(+), 26 deletions(-) create mode 100644 DBQnA/tests/README.md diff --git a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh index 6dd066fc7b..0131ba94a0 100644 --- a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh +++ b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh @@ -3,8 +3,8 @@ # Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -export host_ip="" -export DBQNA_HUGGINGFACEHUB_API_TOKEN="" +export host_ip=${ip_address} +export DBQNA_HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN} export DBQNA_TGI_SERVICE_PORT=8008 export DBQNA_TGI_LLM_ENDPOINT="http://${host_ip}:${DBQNA_TGI_SERVICE_PORT}" export DBQNA_LLM_MODEL_ID="mistralai/Mistral-7B-Instruct-v0.3" @@ -14,3 +14,4 @@ export POSTGRES_PASSWORD="testpwd" export POSTGRES_DB="chinook" export DBQNA_TEXT_TO_SQL_PORT=9090 export DBQNA_UI_PORT=5174 +export build_texttosql_url="${ip_address}:${DBQNA_TEXT_TO_SQL_PORT}/v1" \ No newline at end of file diff --git a/DBQnA/docker_compose/set_env.sh b/DBQnA/docker_compose/set_env.sh index 94ca2186a2..bc83669921 100755 --- a/DBQnA/docker_compose/set_env.sh +++ b/DBQnA/docker_compose/set_env.sh @@ -6,6 +6,14 @@ pushd "../../" > /dev/null source .set_env.sh popd > /dev/null +export host_ip=${ip_address} + +export HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN} +export HF_TOKEN=${HUGGINGFACEHUB_API_TOKEN} +export POSTGRES_USER=postgres +export POSTGRES_PASSWORD=testpwd +export POSTGRES_DB=chinook export TGI_PORT=8008 -export TGI_LLM_ENDPOINT="http://${your_ip}:${TGI_PORT}" +export TEXT2SQL_PORT=9090 +export TGI_LLM_ENDPOINT="http://${host_ip}:${TGI_PORT}" export LLM_MODEL_ID="mistralai/Mistral-7B-Instruct-v0.3" diff --git a/DBQnA/tests/README.md b/DBQnA/tests/README.md new file mode 100644 index 0000000000..5d6dc16a10 --- /dev/null +++ b/DBQnA/tests/README.md @@ -0,0 +1,21 @@ +# DBQnA E2E test scripts + +## Set the required environment variable + +```bash +export HUGGINGFACEHUB_API_TOKEN="Your_Huggingface_API_Token" +``` + +## Run test + +On Intel Xeon with TGI: + +```bash +bash test_compose_on_xeon.sh +``` + +On AMD ROCm with TGI: + +```bash +bash test_compose_on_rocm.sh +``` diff --git a/DBQnA/tests/test_compose_on_rocm.sh b/DBQnA/tests/test_compose_on_rocm.sh index de482b4eaa..52eb93d86d 100644 --- a/DBQnA/tests/test_compose_on_rocm.sh +++ b/DBQnA/tests/test_compose_on_rocm.sh @@ -7,21 +7,10 @@ set -xe WORKPATH=$(dirname "$PWD") LOG_PATH="$WORKPATH/tests" ip_address=$(hostname -I | awk '{print $1}') -tgi_port=8008 -tgi_volume=$WORKPATH/data export host_ip=${ip_address} -export DBQNA_HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN} -export DBQNA_TGI_SERVICE_PORT=8008 -export DBQNA_TGI_LLM_ENDPOINT="http://${host_ip}:${DBQNA_TGI_SERVICE_PORT}" -export DBQNA_LLM_MODEL_ID="mistralai/Mistral-7B-Instruct-v0.3" -export MODEL_ID=${DBQNA_LLM_MODEL_ID} -export POSTGRES_USER="postgres" -export POSTGRES_PASSWORD="testpwd" -export POSTGRES_DB="chinook" -export DBQNA_TEXT_TO_SQL_PORT=9090 -export DBQNA_UI_PORT=5174 -export build_texttosql_url="${ip_address}:${DBQNA_TEXT_TO_SQL_PORT}/v1" +source $WORKPATH/docker_compose/amd/gpu/rocm/set_env.sh + export MODEL_CACHE=${model_cache:-"/var/lib/GenAI/data"} function build_docker_images() { diff --git a/DBQnA/tests/test_compose_on_xeon.sh b/DBQnA/tests/test_compose_on_xeon.sh index da9fa1b71a..7811e51d3d 100755 --- a/DBQnA/tests/test_compose_on_xeon.sh +++ b/DBQnA/tests/test_compose_on_xeon.sh @@ -15,7 +15,6 @@ export MODEL_CACHE=${model_cache:-"./data"} WORKPATH=$(dirname "$PWD") LOG_PATH="$WORKPATH/tests" ip_address=$(hostname -I | awk '{print $1}') -tgi_port=8008 function build_docker_images() { cd $WORKPATH/docker_image_build @@ -29,15 +28,9 @@ function build_docker_images() { } function start_service() { - cd $WORKPATH/docker_compose/intel/cpu/xeon - export model="mistralai/Mistral-7B-Instruct-v0.3" - export LLM_MODEL_ID=${model} - export HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN} - export POSTGRES_USER=postgres - export POSTGRES_PASSWORD=testpwd - export POSTGRES_DB=chinook - export TEXT2SQL_PORT=9090 - export TGI_LLM_ENDPOINT="http://${ip_address}:${tgi_port}" + cd $WORKPATH/docker_compose + source ./set_env.sh + cd intel/cpu/xeon # Start Docker Containers docker compose -f compose.yaml up -d > ${LOG_PATH}/start_services_with_compose.log From f3b402e2ccf0c298878f8870f832f66a31f06286 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 08:09:40 +0000 Subject: [PATCH 2/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- DBQnA/docker_compose/amd/gpu/rocm/set_env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh index 0131ba94a0..fdfed70cda 100644 --- a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh +++ b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh @@ -14,4 +14,4 @@ export POSTGRES_PASSWORD="testpwd" export POSTGRES_DB="chinook" export DBQNA_TEXT_TO_SQL_PORT=9090 export DBQNA_UI_PORT=5174 -export build_texttosql_url="${ip_address}:${DBQNA_TEXT_TO_SQL_PORT}/v1" \ No newline at end of file +export build_texttosql_url="${ip_address}:${DBQNA_TEXT_TO_SQL_PORT}/v1" From 6169cb0cd8b7ea26a6a8e4f480900c457ae2f926 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Wed, 7 May 2025 17:00:53 +0800 Subject: [PATCH 3/6] Enhance output check Signed-off-by: ZePan110 --- DBQnA/tests/test_compose_on_rocm.sh | 3 ++- DBQnA/tests/test_compose_on_xeon.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/DBQnA/tests/test_compose_on_rocm.sh b/DBQnA/tests/test_compose_on_rocm.sh index 52eb93d86d..ff605a89e1 100644 --- a/DBQnA/tests/test_compose_on_rocm.sh +++ b/DBQnA/tests/test_compose_on_rocm.sh @@ -46,7 +46,8 @@ function validate_microservice() { -d '{"input_text": "Find the total number of Albums.","conn_str": {"user": "'${POSTGRES_USER}'","password": "'${POSTGRES_PASSWORD}'","host": "'${ip_address}'", "port": "5442", "database": "'${POSTGRES_DB}'" }}' \ -H 'Content-Type: application/json') - if [[ $result == *"output"* ]]; then + if echo "$response" | jq -e '.result.output' > /dev/null 2>&1; then + # if [[ $result == *"output"* ]]; then echo $result echo "Result correct." else diff --git a/DBQnA/tests/test_compose_on_xeon.sh b/DBQnA/tests/test_compose_on_xeon.sh index 7811e51d3d..3ebc4af30f 100755 --- a/DBQnA/tests/test_compose_on_xeon.sh +++ b/DBQnA/tests/test_compose_on_xeon.sh @@ -53,7 +53,8 @@ function validate_microservice() { -d '{"input_text": "Find the total number of Albums.","conn_str": {"user": "'${POSTGRES_USER}'","password": "'${POSTGRES_PASSWORD}'","host": "'${ip_address}'", "port": "5442", "database": "'${POSTGRES_DB}'" }}' \ -H 'Content-Type: application/json') - if [[ $result == *"output"* ]]; then + if echo "$response" | jq -e '.result.output' > /dev/null 2>&1; then + # if [[ $result == *"output"* ]]; then echo $result echo "Result correct." else From 5a9d800ee429a6a79c6f48efb4d60efad13570ba Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 8 May 2025 14:30:43 +0800 Subject: [PATCH 4/6] Fix Signed-off-by: ZePan110 --- DBQnA/tests/test_compose_on_rocm.sh | 2 +- DBQnA/tests/test_compose_on_xeon.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DBQnA/tests/test_compose_on_rocm.sh b/DBQnA/tests/test_compose_on_rocm.sh index ff605a89e1..df83d4fbec 100644 --- a/DBQnA/tests/test_compose_on_rocm.sh +++ b/DBQnA/tests/test_compose_on_rocm.sh @@ -46,7 +46,7 @@ function validate_microservice() { -d '{"input_text": "Find the total number of Albums.","conn_str": {"user": "'${POSTGRES_USER}'","password": "'${POSTGRES_PASSWORD}'","host": "'${ip_address}'", "port": "5442", "database": "'${POSTGRES_DB}'" }}' \ -H 'Content-Type: application/json') - if echo "$response" | jq -e '.result.output' > /dev/null 2>&1; then + if echo "$result" | jq -e '.result.output' > /dev/null 2>&1; then # if [[ $result == *"output"* ]]; then echo $result echo "Result correct." diff --git a/DBQnA/tests/test_compose_on_xeon.sh b/DBQnA/tests/test_compose_on_xeon.sh index 3ebc4af30f..f75dc8afe8 100755 --- a/DBQnA/tests/test_compose_on_xeon.sh +++ b/DBQnA/tests/test_compose_on_xeon.sh @@ -53,7 +53,7 @@ function validate_microservice() { -d '{"input_text": "Find the total number of Albums.","conn_str": {"user": "'${POSTGRES_USER}'","password": "'${POSTGRES_PASSWORD}'","host": "'${ip_address}'", "port": "5442", "database": "'${POSTGRES_DB}'" }}' \ -H 'Content-Type: application/json') - if echo "$response" | jq -e '.result.output' > /dev/null 2>&1; then + if echo "$result" | jq -e '.result.output' > /dev/null 2>&1; then # if [[ $result == *"output"* ]]; then echo $result echo "Result correct." From 107ce9293e0158584ed2e3c9d887b761d7a15d80 Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 8 May 2025 15:40:08 +0800 Subject: [PATCH 5/6] Organize set_env.sh paths Signed-off-by: ZePan110 --- DBQnA/docker_compose/amd/gpu/rocm/set_env.sh | 4 ++++ .../docker_compose/intel/cpu/xeon/set_env.sh | 19 ++++++------------- DBQnA/docker_compose/set_env.sh | 19 ------------------- DBQnA/tests/test_compose_on_xeon.sh | 3 +-- 4 files changed, 11 insertions(+), 34 deletions(-) mode change 100644 => 100755 DBQnA/docker_compose/intel/cpu/xeon/set_env.sh delete mode 100755 DBQnA/docker_compose/set_env.sh diff --git a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh index fdfed70cda..6adcfb8451 100644 --- a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh +++ b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh @@ -3,6 +3,10 @@ # Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 +pushd "../../../../../" > /dev/null +source .set_env.sh +popd > /dev/null + export host_ip=${ip_address} export DBQNA_HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN} export DBQNA_TGI_SERVICE_PORT=8008 diff --git a/DBQnA/docker_compose/intel/cpu/xeon/set_env.sh b/DBQnA/docker_compose/intel/cpu/xeon/set_env.sh old mode 100644 new mode 100755 index beae6d5bc9..f05e9c871c --- a/DBQnA/docker_compose/intel/cpu/xeon/set_env.sh +++ b/DBQnA/docker_compose/intel/cpu/xeon/set_env.sh @@ -2,26 +2,19 @@ # Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 + pushd "../../../../../" > /dev/null source .set_env.sh popd > /dev/null -#export host_ip=$(hostname -I | awk '{print $1}') - -if [ -z "${HUGGINGFACEHUB_API_TOKEN}" ]; then - echo "Error: HUGGINGFACEHUB_API_TOKEN is not set. Please set HUGGINGFACEHUB_API_TOKEN." -fi - -if [ -z "${host_ip}" ]; then - echo "Error: host_ip is not set. Please set host_ip first." -fi +export host_ip=${ip_address} export no_proxy=$no_proxy,$host_ip,dbqna-xeon-react-ui-server,text2sql-service,tgi-service,postgres-container export HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN} -export TGI_PORT=8008 -export TGI_LLM_ENDPOINT="http://${host_ip}:${TGI_PORT}" -export LLM_MODEL_ID="mistralai/Mistral-7B-Instruct-v0.3" +export HF_TOKEN=${HUGGINGFACEHUB_API_TOKEN} export POSTGRES_USER=postgres export POSTGRES_PASSWORD=testpwd export POSTGRES_DB=chinook +export TGI_PORT=8008 export TEXT2SQL_PORT=9090 -"set_env.sh" 27L, 974B +export TGI_LLM_ENDPOINT="http://${host_ip}:${TGI_PORT}" +export LLM_MODEL_ID="mistralai/Mistral-7B-Instruct-v0.3" diff --git a/DBQnA/docker_compose/set_env.sh b/DBQnA/docker_compose/set_env.sh deleted file mode 100755 index bc83669921..0000000000 --- a/DBQnA/docker_compose/set_env.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash - -# Copyright (C) 2024 Intel Corporation -# SPDX-License-Identifier: Apache-2.0 -pushd "../../" > /dev/null -source .set_env.sh -popd > /dev/null - -export host_ip=${ip_address} - -export HUGGINGFACEHUB_API_TOKEN=${HUGGINGFACEHUB_API_TOKEN} -export HF_TOKEN=${HUGGINGFACEHUB_API_TOKEN} -export POSTGRES_USER=postgres -export POSTGRES_PASSWORD=testpwd -export POSTGRES_DB=chinook -export TGI_PORT=8008 -export TEXT2SQL_PORT=9090 -export TGI_LLM_ENDPOINT="http://${host_ip}:${TGI_PORT}" -export LLM_MODEL_ID="mistralai/Mistral-7B-Instruct-v0.3" diff --git a/DBQnA/tests/test_compose_on_xeon.sh b/DBQnA/tests/test_compose_on_xeon.sh index f75dc8afe8..751d3ac24b 100755 --- a/DBQnA/tests/test_compose_on_xeon.sh +++ b/DBQnA/tests/test_compose_on_xeon.sh @@ -28,9 +28,8 @@ function build_docker_images() { } function start_service() { - cd $WORKPATH/docker_compose + cd $WORKPATH/docker_compose/intel/cpu/xeon source ./set_env.sh - cd intel/cpu/xeon # Start Docker Containers docker compose -f compose.yaml up -d > ${LOG_PATH}/start_services_with_compose.log From 592636d630d20b52ce1fd80641f96f31737efc5f Mon Sep 17 00:00:00 2001 From: ZePan110 Date: Thu, 8 May 2025 16:27:03 +0800 Subject: [PATCH 6/6] debug Signed-off-by: ZePan110 --- DBQnA/docker_compose/amd/gpu/rocm/set_env.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh index 6adcfb8451..f744dbcc0f 100644 --- a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh +++ b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh @@ -3,7 +3,8 @@ # Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -pushd "../../../../../" > /dev/null +pushd "../../" > /dev/null +ls -l source .set_env.sh popd > /dev/null