llama.cpp/examples/server/tests
Xuan Son Nguyen 9f912511bc
Some checks are pending
flake8 Lint / Lint (push) Waiting to run
Python Type-Check / pyright type-check (push) Waiting to run
common : fix duplicated file name with hf_repo and hf_file (#10550)
2024-11-27 22:30:52 +01:00
..
unit server : replace behave with pytest (#10416) 2024-11-26 16:20:18 +01:00
.gitignore server : replace behave with pytest (#10416) 2024-11-26 16:20:18 +01:00
conftest.py server : replace behave with pytest (#10416) 2024-11-26 16:20:18 +01:00
README.md server : replace behave with pytest (#10416) 2024-11-26 16:20:18 +01:00
requirements.txt server : replace behave with pytest (#10416) 2024-11-26 16:20:18 +01:00
tests.sh server : replace behave with pytest (#10416) 2024-11-26 16:20:18 +01:00
utils.py common : fix duplicated file name with hf_repo and hf_file (#10550) 2024-11-27 22:30:52 +01:00

Server tests

Python based server tests scenario using pytest.

Tests target GitHub workflows job runners with 4 vCPU.

Note: If the host architecture inference speed is faster than GitHub runners one, parallel scenario may randomly fail. To mitigate it, you can increase values in n_predict, kv_size.

Install dependencies

pip install -r requirements.txt

Run tests

  1. Build the server
cd ../../..
cmake -B build -DLLAMA_CURL=ON
cmake --build build --target llama-server
  1. Start the test: ./tests.sh

It's possible to override some scenario steps values with environment variables:

variable description
PORT context.server_port to set the listening port of the server during scenario, default: 8080
LLAMA_SERVER_BIN_PATH to change the server binary path, default: ../../../build/bin/llama-server
DEBUG to enable steps and server verbose mode --verbose
N_GPU_LAYERS number of model layers to offload to VRAM -ngl --n-gpu-layers

To run slow tests:

SLOW_TESTS=1 ./tests.sh

To run with stdout/stderr display in real time (verbose output, but useful for debugging):

DEBUG=1 ./tests.sh -s -v -x

To see all available arguments, please refer to pytest documentation