{
  "schema_version": "runpile-serving-profiles-1.0",
  "license": "CC0-1.0",
  "status": "optional-reference",
  "description": "Versioned, model-neutral online serving workloads. Publish a separate Runpile run for each recommended concurrency value.",
  "profiles": [
    {
      "id": "serve-fixed-1k-256-v1",
      "description": "Balanced online generation with a 1024-token prompt and 256 generated tokens.",
      "load": { "field": "concurrency", "arrival_process": "closed_loop", "recommended_values": [1, 4, 8, 16, 32, 64] },
      "manifest_fragment": {
        "workload": {
          "task": "text_generation",
          "mode": "online",
          "endpoint_type": "openai-compatible-completions",
          "dataset": { "synthetic": true, "generator": "harness-random-token-ids", "shared_prefix_tokens": 0 },
          "request_count": 256,
          "warmup_request_count": 16,
          "arrival_process": "closed_loop",
          "streaming": true,
          "input_tokens": { "kind": "fixed", "value": 1024 },
          "output_tokens": { "kind": "fixed", "value": 256 },
          "sampling": { "temperature": 0 },
          "stopping": { "ignore_eos": true, "max_output_tokens": 256 },
          "prefix_behavior": { "cache_enabled": false, "cache_state": "cold", "shared_prefix_tokens": 0 },
          "client": { "placement": "same-host" },
          "random_seed": 0,
          "extensions": { "runpile.profile_id": "serve-fixed-1k-256-v1" }
        },
        "measurement": {
          "timing_scope": "client-observed streaming request latency",
          "client_overhead_included": true,
          "warmup": "16 unmeasured requests before 256 measured requests",
          "repetitions": 1,
          "retry_failure_treatment": "failed requests counted; no retries"
        }
      }
    },
    {
      "id": "serve-fixed-8k-256-v1",
      "description": "Long-prompt online generation with an 8192-token prompt and 256 generated tokens.",
      "load": { "field": "concurrency", "arrival_process": "closed_loop", "recommended_values": [1, 2, 4, 8, 16, 32] },
      "manifest_fragment": {
        "workload": {
          "task": "text_generation",
          "mode": "online",
          "endpoint_type": "openai-compatible-completions",
          "dataset": { "synthetic": true, "generator": "harness-random-token-ids", "shared_prefix_tokens": 0 },
          "request_count": 128,
          "warmup_request_count": 8,
          "arrival_process": "closed_loop",
          "streaming": true,
          "input_tokens": { "kind": "fixed", "value": 8192 },
          "output_tokens": { "kind": "fixed", "value": 256 },
          "sampling": { "temperature": 0 },
          "stopping": { "ignore_eos": true, "max_output_tokens": 256 },
          "prefix_behavior": { "cache_enabled": false, "cache_state": "cold", "shared_prefix_tokens": 0 },
          "client": { "placement": "same-host" },
          "random_seed": 0,
          "extensions": { "runpile.profile_id": "serve-fixed-8k-256-v1" }
        },
        "measurement": {
          "timing_scope": "client-observed streaming request latency",
          "client_overhead_included": true,
          "warmup": "8 unmeasured requests before 128 measured requests",
          "repetitions": 1,
          "retry_failure_treatment": "failed requests counted; no retries"
        }
      }
    },
    {
      "id": "serve-fixed-256-1k-v1",
      "description": "Long-generation online serving with a 256-token prompt and 1024 generated tokens.",
      "load": { "field": "concurrency", "arrival_process": "closed_loop", "recommended_values": [1, 2, 4, 8, 16, 32] },
      "manifest_fragment": {
        "workload": {
          "task": "text_generation",
          "mode": "online",
          "endpoint_type": "openai-compatible-completions",
          "dataset": { "synthetic": true, "generator": "harness-random-token-ids", "shared_prefix_tokens": 0 },
          "request_count": 128,
          "warmup_request_count": 8,
          "arrival_process": "closed_loop",
          "streaming": true,
          "input_tokens": { "kind": "fixed", "value": 256 },
          "output_tokens": { "kind": "fixed", "value": 1024 },
          "sampling": { "temperature": 0 },
          "stopping": { "ignore_eos": true, "max_output_tokens": 1024 },
          "prefix_behavior": { "cache_enabled": false, "cache_state": "cold", "shared_prefix_tokens": 0 },
          "client": { "placement": "same-host" },
          "random_seed": 0,
          "extensions": { "runpile.profile_id": "serve-fixed-256-1k-v1" }
        },
        "measurement": {
          "timing_scope": "client-observed streaming request latency",
          "client_overhead_included": true,
          "warmup": "8 unmeasured requests before 128 measured requests",
          "repetitions": 1,
          "retry_failure_treatment": "failed requests counted; no retries"
        }
      }
    }
  ],
  "capture_requirements": {
    "percentile_metrics": ["ttft", "tpot", "itl", "e2el"],
    "percentiles": [50, 95, 99],
    "aggregate_only": true,
    "request_or_response_content": false
  }
}
