Signed-off-by: JoshuaL3000 <joshua.jian.ern.liew@intel.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
67 lines
2.3 KiB
Bash
67 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# Copyright (C) 2024 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
set -e
|
|
|
|
WORKPATH=$(dirname "$PWD")
|
|
workflow_id=9809
|
|
vllm_port=${vllm_port}
|
|
[[ -z "$vllm_port" ]] && vllm_port=8084
|
|
export WORKDIR=$WORKPATH/../../
|
|
echo "WORKDIR=${WORKDIR}"
|
|
export SDK_BASE_URL=${SDK_BASE_URL}
|
|
export SERVING_TOKEN=${SERVING_TOKEN}
|
|
export HF_TOKEN=${HUGGINGFACEHUB_API_TOKEN}
|
|
export llm_engine=vllm
|
|
export ip_address=$(hostname -I | awk '{print $1}')
|
|
export llm_endpoint_url=http://${ip_address}:${vllm_port}
|
|
export model=mistralai/Mistral-7B-Instruct-v0.3
|
|
export recursion_limit=25
|
|
export temperature=0
|
|
export max_new_tokens=1000
|
|
export TOOLSET_PATH=$WORKDIR/GenAIExamples/WorkflowExecAgent/tools/
|
|
|
|
function start_agent_and_api_server() {
|
|
echo "Starting Agent services"
|
|
cd $WORKDIR/GenAIExamples/WorkflowExecAgent/docker_compose/intel/cpu/xeon
|
|
WORKDIR=$WORKPATH/docker_image_build/ docker compose -f compose_vllm.yaml up -d
|
|
echo "Waiting agent service ready"
|
|
sleep 5s
|
|
}
|
|
|
|
function validate() {
|
|
local CONTENT="$1"
|
|
local EXPECTED_RESULT="$2"
|
|
local SERVICE_NAME="$3"
|
|
|
|
if echo "$CONTENT" | grep -q "$EXPECTED_RESULT"; then
|
|
echo "[ $SERVICE_NAME ] Content is as expected: $CONTENT"
|
|
echo "[TEST INFO]: Workflow Executor agent service PASSED"
|
|
else
|
|
echo "[ $SERVICE_NAME ] Content does not match the expected result: $CONTENT"
|
|
echo "[TEST INFO]: Workflow Executor agent service FAILED"
|
|
fi
|
|
}
|
|
|
|
function validate_agent_service() {
|
|
echo "----------------Test agent ----------------"
|
|
local CONTENT=$(curl http://${ip_address}:9090/v1/chat/completions -X POST -H "Content-Type: application/json" -d '{
|
|
"query": "I have a data with gender Female, tenure 55, MonthlyAvgCharges 103.7. Predict if this entry will churn. My workflow id is '${workflow_id}'."
|
|
}')
|
|
validate "$CONTENT" "The entry is not likely to churn" "workflowexec-agent-endpoint"
|
|
docker logs workflowexec-agent-endpoint
|
|
}
|
|
|
|
function main() {
|
|
echo "==================== Start agent ===================="
|
|
start_agent_and_api_server
|
|
echo "==================== Agent started ===================="
|
|
|
|
echo "==================== Validate agent service ===================="
|
|
validate_agent_service
|
|
echo "==================== Agent service validated ===================="
|
|
}
|
|
|
|
main
|