mirror of
https://github.com/lightbroker/llmsecops-research.git
synced 2026-05-22 08:17:17 +02:00
Flask API
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Executable
+39
@@ -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
|
||||
Reference in New Issue
Block a user