diff --git a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh index 6dd066fc7b..f744dbcc0f 100644 --- a/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh +++ b/DBQnA/docker_compose/amd/gpu/rocm/set_env.sh @@ -3,8 +3,13 @@ # Copyright (C) 2024 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -export host_ip="" -export DBQNA_HUGGINGFACEHUB_API_TOKEN="" +pushd "../../" > /dev/null +ls -l +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 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 +19,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" 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 94ca2186a2..0000000000 --- a/DBQnA/docker_compose/set_env.sh +++ /dev/null @@ -1,11 +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 TGI_PORT=8008 -export TGI_LLM_ENDPOINT="http://${your_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..df83d4fbec 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() { @@ -57,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 "$result" | 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 da9fa1b71a..751d3ac24b 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 @@ -30,14 +29,7 @@ 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}" + source ./set_env.sh # Start Docker Containers docker compose -f compose.yaml up -d > ${LOG_PATH}/start_services_with_compose.log @@ -60,7 +52,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 "$result" | jq -e '.result.output' > /dev/null 2>&1; then + # if [[ $result == *"output"* ]]; then echo $result echo "Result correct." else