litellm/litellm-rust/loadtest/compose.yaml
Nate Armstrong bce2ced779
feat(gateway): native OpenAI chat completions with SSE passthrough (#46813)
Add the openai provider to /v1/chat/completions. The caller's body is passed
through with only the model renamed and LiteLLM-owned keys removed, and the
provider's JSON or SSE bytes are relayed as received. Streams have no total
timeout, only a per-read idle limit, so 30+ minute generations are not cut off.
openai_like and the translated providers keep their existing path.
2026-10-16 12:43:00 -07:00

36 lines
1.4 KiB
YAML

# Local, out-of-process smoke test: gateway, mock upstream and load generator in separate
# containers. Not a perf number (one host), but the same images and workloads as the cloud rig.
#
# docker run --rm -v "$PWD/out:/work/out" litellm-loadtest genconfig -out out \
# -mocks http://mockllm:9000
# GATEWAY_IMAGE=litellm-rust-gateway:<tag> TOOLS_IMAGE=litellm-loadtest:<tag> docker compose up -d gateway mockllm
# docker compose run --rm loadgen loadgen -workload /workloads/smoke.json \
# -target http://gateway:4000 -key sk-loadtest-master -out out/smoke.jsonl
# docker compose run --rm loadgen summarize out/smoke.jsonl
services:
mockllm:
image: ${TOOLS_IMAGE:-litellm-loadtest:local}
command: ["mockllm", "-addr", ":9000", "-faults", "${MOCK_FAULTS:-}"]
gateway:
image: ${GATEWAY_IMAGE:-litellm-rust-gateway:local}
environment:
LITELLM_CONFIG: /config/config.yaml
PORT: "4000"
volumes:
- ./out:/config:ro
ports:
- "4000:4000"
depends_on: [mockllm]
procmon:
image: ${TOOLS_IMAGE:-litellm-loadtest:local}
pid: "service:gateway"
user: "10001" # the gateway's uid, so /proc/1/fd is readable
command: ["procmon", "-pid", "1", "-every", "5s"]
depends_on: [gateway]
loadgen:
image: ${TOOLS_IMAGE:-litellm-loadtest:local}
profiles: ["run"]
working_dir: /work
volumes:
- ./out:/work/out
depends_on: [gateway]