# AIPerf 3-Scenario Benchmark Suite Template # Copy and customize per target endpoint. # Usage: aiperf profile -c # # Environment variables expected: # API_KEY - Bearer token for the target endpoint # API_BASE_URL - e.g. https://ai.noris.de # ═══════════════════════════════════════════════════════════════ # SCENARIO 1: Sales (Representative Load) # ═══════════════════════════════════════════════════════════════ scenarios: - name: sales-low model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 1 request-count: 50 dataset: sharegpt extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/sales/concurrency-1" ui: simple - name: sales-moderate model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 5 request-count: 50 dataset: sharegpt extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/sales/concurrency-5" ui: simple - name: sales-realistic model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 10 request-count: 50 dataset: sharegpt extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/sales/concurrency-10" ui: simple # ═══════════════════════════════════════════════════════════════ # SCENARIO 2: Capacity (Breakpoint Discovery) # ═══════════════════════════════════════════════════════════════ - name: capacity-10 model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 10 request-count: 100 dataset: synthetic input-tokens-mean: 512 output-tokens-mean: 128 extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/capacity/concurrency-10" ui: none - name: capacity-25 model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 25 request-count: 100 dataset: synthetic input-tokens-mean: 512 output-tokens-mean: 128 extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/capacity/concurrency-25" ui: none - name: capacity-50 model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 50 request-count: 100 dataset: synthetic input-tokens-mean: 512 output-tokens-mean: 128 extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/capacity/concurrency-50" ui: none - name: capacity-100 model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 100 request-count: 100 dataset: synthetic input-tokens-mean: 512 output-tokens-mean: 128 extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/capacity/concurrency-100" ui: none # ═══════════════════════════════════════════════════════════════ # SCENARIO 3: Steady-State (Long-Term Stability) # ═══════════════════════════════════════════════════════════════ - name: steady-state model: vllm/moonshotai/kimi-k2.6 url: "${API_BASE_URL}" endpoint-type: chat streaming: true tokenizer: moonshotai/kimi-k2.6 concurrency: 20 duration: 600 dataset: sharegpt extra-headers: Authorization: "Bearer ${API_KEY}" output-directory: "results/${DATE}/steady-state" ui: none # Enable timeslice metrics for drift detection: # timeslice: 60