Flask API

This commit is contained in:
Adam Wilson
2025-05-18 15:15:14 -06:00
parent f55ce82694
commit df0330b97f
2 changed files with 51 additions and 9 deletions
+12 -9
View File
@@ -27,20 +27,23 @@ jobs:
pip install huggingface-hub[cli]
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-onnx --include cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4/* --local-dir ${{ github.workspace }}/tests/llm
- name: 'run HTTP server and test REST API'
working-directory: ${{ github.workspace }}/.github/workflows
shell: bash
run: |
./run_server.sh
- name: 'set up garak'
run: |
pip install garak
- name: 'run HTTP server and call REST API'
run: |
python -m src.api.controller
sleep 2
curl -X POST -i localhost:9998/api/conversations -d '{ "prompt": "describe a random planet in our solar system in 10 words or less" }' -H "Content-Type: application/json" || exit 1
echo
- name: 'run garak tests'
working-directory: ${{ github.workspace }}/src/tools
shell: bash
run: |
garak -v \
--config ${{ github.workspace }}/tests/tools/garak.config.yml \
--generator_option_file ${{ github.workspace }}/tests/tools/garak.rest.llm.json \
--config garak.config.yml \
--generator_option_file garak.rest.llm.json \
--model_type=rest \
--parallel_attempts 32
+39
View File
@@ -0,0 +1,39 @@
#!/bin/bash
# Start Flask server in the background
python -m src.api.controller &
SERVER_PID=$!
# Function to check if server is up
wait_for_server() {
echo "Waiting for Flask server to start..."
local max_attempts=30
local attempt=0
while [ $attempt -lt $max_attempts ]; do
if curl -s http://localhost:9998/ > /dev/null 2>&1; then
echo "Server is up!"
return 0
fi
attempt=$((attempt + 1))
echo "Attempt $attempt/$max_attempts - Server not ready yet, waiting..."
sleep 1
done
echo "Server failed to start after $max_attempts attempts"
kill $SERVER_PID
return 1
}
# Wait for server to be ready
wait_for_server || exit 1
# Make the actual request once server is ready
echo "Making API request..."
curl -X POST -i localhost:9998/api/conversations \
-d '{ "prompt": "describe a random planet in our solar system in 10 words or less" }' \
-H "Content-Type: application/json" || exit 1
echo
exit 0