Skip to content

Commit 31c0d95

Browse files
committed
Merge branch 'main' of https://github.com/SemiAnalysisAI/InferenceX into amd/agentx_dsv4_sgl_mtp_0717
2 parents 633bc94 + d121d11 commit 31c0d95

65 files changed

Lines changed: 4467 additions & 201 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/codeowner-signoff-verify-prompt.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,13 +323,19 @@ Verify BOTH:
323323
YAMLs, or exported before launch in benchmark scripts).
324324
- vLLM: the `--speculative-config` JSON contains BOTH
325325
`"rejection_sample_method": "synthetic"` and `"synthetic_acceptance_length": <AL>`.
326+
- TRT-LLM: env var `TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: <AL - 1>` in the
327+
server/decode environment. The value counts accepted DRAFT tokens only and
328+
EXCLUDES the bonus/verification token, so it must be the golden AL minus 1
329+
(fractional values allowed — e.g. golden AL 3.5 -> 2.5).
326330
FAIL if an agentic spec-decode config runs real (unsimulated) acceptance — name the
327331
config/script and line.
328332
- (b) AL VALUE MATCHES THE GOLDEN CURVE. Read the committed golden AL YAML for the
329333
model in `golden_al_distribution/` (default-branch checkout; e.g. `qwen3.5_mtp.yaml`,
330334
`kimik2.5_eagle3.yaml`) and confirm the pinned AL equals the golden value for that
331335
model, thinking mode, and the config's `num_speculative_tokens` / MTP level (e.g.
332-
qwen3.5 thinking_on with 3 speculative tokens -> 3.39). A submission may choose any
336+
qwen3.5 thinking_on with 3 speculative tokens -> 3.39). For TRT-LLM configs, compare
337+
the pinned `TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS` value PLUS 1 against the
338+
golden AL (the env var excludes the bonus token). A submission may choose any
333339
supported draft length, but it may NOT substitute a different acceptance target.
334340
FAIL on a mismatch — name the config, the pinned value, and the expected golden
335341
value. If the model has no committed golden curve yet, do not guess: the sign-off's

.github/workflows/collectivex-sweep.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
description: "EP library to sweep — 'all' runs every EP backend in one matrix"
1111
type: choice
1212
default: all
13-
options: [all, deepep-v2, mori, uccl-ep]
13+
options: [all, deepep-v2, mori, uccl-ep, nccl-ep]
1414
only_sku:
1515
description: Restrict to one GHA runner pool; blank = all
1616
type: string

.github/workflows/run-sweep.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ jobs:
244244
--model 'claude-fable-5'
245245
--max-turns 8
246246
--allowedTools "Read,Glob,Grep,Bash(git diff:*)"
247-
--json-schema '{"type":"object","properties":{"criteria":{"type":"array","items":{"type":"string","enum":["multi-node","agentic","eval-only","fp4","mtp","eagle","eagle3","sglang","vllm","dynamo-sglang","dynamo-vllm","glm5","glm5.1","kimik2.5","dsv4","minimaxm3","qwen3.5","dsr1","checklist-complete","patchwork"]},"uniqueItems":true},"reason":{"type":"string"}},"required":["criteria","reason"]}'
247+
--json-schema '{"type":"object","properties":{"criteria":{"type":"array","items":{"type":"string","enum":["multi-node","agentic","eval-only","fp4","mtp","eagle","eagle3","sglang","vllm","dynamo-sglang","dynamo-vllm","glm5","glm5.1","kimik2.5","kimik3","dsv4","minimaxm3","qwen3.5","dsr1","checklist-complete","patchwork"]},"uniqueItems":true},"reason":{"type":"string"}},"required":["criteria","reason"]}'
248248
prompt: |
249249
Inspect this Actions run's change range.
250250

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Bash: source shared utilities via `source benchmark_lib.sh` (`check_env_vars`, `
8181

8282
Git: conventional commit messages. **Commit messages must include a Simplified Chinese translation in addition to English** — keep the subject line in English (conventional-commit style), then include the Chinese translation of the subject and key body points in the commit body (e.g. a trailing `中文:<translation>` paragraph), following the same translation quality bar as PRs/issues. Squash-merge commits inherit the bilingual PR title, which satisfies the subject requirement automatically. `[skip-sweep]` in the latest PR head commit skips that PR's benchmark setup after changelog validation. It is ignored on pushes to `main`. Changes to `perf-changelog.yaml` trigger benchmark runs.
8383

84-
Docs: all contributor-facing docs are bilingual — **every such Markdown doc MUST have a Simplified Chinese version** named `<name>_zh.md` alongside it, with an `English | 中文` switcher at the top. Current pairs: `README.md`/`README_zh.md`, `CONTRIBUTING.md`/`CONTRIBUTING_zh.md`, `docs/PR_REVIEW_CHECKLIST.md`/`docs/PR_REVIEW_CHECKLIST_zh.md`. **Any edit to an English doc MUST be mirrored in its `_zh` counterpart (and vice versa) in the same PR** — same sections, links, badges, images — and a new doc must ship with its `_zh` version in the same PR. Exceptions: agent-instruction files (`AGENTS.md`, `CLAUDE.md`, `KLAUD_DEBUG.md`) and internal references under `.github/`/`utils/` are English-only; the sign-off template inside `docs/PR_REVIEW_CHECKLIST*.md` stays in English verbatim in BOTH versions, because `codeowner-signoff-verify.yml` triggers on its exact English opening phrase.
84+
Docs: all contributor-facing docs are bilingual — **every such Markdown doc MUST have a Simplified Chinese version** named `<name>_zh.md` alongside it, with an `English | 中文` switcher at the top. Current pairs: `README.md`/`README_zh.md`, `CONTRIBUTING.md`/`CONTRIBUTING_zh.md`, `MODELS.md`/`MODELS_zh.md`, `docs/PR_REVIEW_CHECKLIST.md`/`docs/PR_REVIEW_CHECKLIST_zh.md`. **Any edit to an English doc MUST be mirrored in its `_zh` counterpart (and vice versa) in the same PR** — same sections, links, badges, images — and a new doc must ship with its `_zh` version in the same PR. Exceptions: agent-instruction files (`AGENTS.md`, `CLAUDE.md`, `KLAUD_DEBUG.md`) and internal references under `.github/`/`utils/` are English-only; the sign-off template inside `docs/PR_REVIEW_CHECKLIST*.md` stays in English verbatim in BOTH versions, because `codeowner-signoff-verify.yml` triggers on its exact English opening phrase.
8585

8686
Checklist ↔ sign-off verifier sync: `docs/PR_REVIEW_CHECKLIST.md` is the source of truth for the merge standard, and the verifier prompt in `.github/codeowner-signoff-verify-prompt.md` encodes it as independently-verified checks (the prompt lives in that standalone template — rendered by `.github/workflows/codeowner-signoff-verify.yml` via envsubst — because GitHub caps inline workflow expressions at 21000 chars; do NOT move it back inline). **Whenever `docs/PR_REVIEW_CHECKLIST.md` is updated — an item added, removed, or materially reworded — agents are allowed and expected to update the verifier prompt to match, ideally in the same PR.** Cosmetic edits (formatting, typos, `_zh` translation sync) need no verifier change. The verifier's Check 5 already compares sign-offs against the live checklist file, so stale sign-off templates are caught automatically — but a new or removed policy item needs its own check logic added to / removed from the workflow prompt. To validate a verifier change: merge it, open a throwaway `[DO NOT MERGE]` test PR, post a sign-off comment (it must contain the exact phrase `As a PR reviewer and CODEOWNER` or the workflow won't trigger), read the posted verdict comment, then close the test PR.
8787

MODELS.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Models
2+
3+
English | [中文](MODELS_zh.md)
4+
5+
This document tracks every model benchmarked by InferenceX-e2e: when it was added, which benchmark scenarios are currently active for it, and which scenarios are deprecated. Results for active scenarios are published to <https://inferencex.com/>.
6+
7+
## Deprecation Notice
8+
9+
- **Thursday, August 6, 2026** is the last day for the **Single-turn 8k1k** scenario on **Kimi-K2.5/2.6/2.7-Code** (`kimik2.5`); the scenario is deprecated for these models after that date. Rationale: the Agentic coding (AgentX) scenario already covers them with real-world traffic, and Kimi-K3 launched on July 27, 2026, so GPU cluster time shifts to the newer frontier model.
10+
11+
## Scenarios
12+
13+
| Scenario | ISL/OSL | Status |
14+
|---|---|---|
15+
| Agentic coding | Long Context, Multi Turn Realistic traffic trace replay with sub agents | Active — trace-replay agentic-coding benchmark (see [`benchmarks/agentic/`](benchmarks/agentic/)). Going forward, new models will likely be onboarded with agentic coding only. |
16+
| Single-turn 8k1k | 8192 / 1024 | Active — the primary fixed-sequence-length scenario. |
17+
| Single-turn 1k1k | 1024 / 1024 | **Deprecated for all models** since 2026-07-17 ([#2263](https://github.com/SemiAnalysisAI/InferenceX/pull/2263)), to save GPU cluster time for higher-priority real-world agentic-coding benchmarks and new frontier models. Archived configs live in [`configs/deprecated/`](configs/deprecated/). |
18+
| Single-turn 1k8k | 1024 / 8192 | **Deprecated for all models** since 2026-03-27 ([#911](https://github.com/SemiAnalysisAI/InferenceX/pull/911)), to save GPU cluster time for higher-priority real-world agentic-coding benchmarks and new frontier models. Configs were removed, not archived. |
19+
20+
## Model support matrix
21+
22+
| Model architecture class | Prefix | Date added | Active scenarios | Deprecated scenarios |
23+
|---|---|---|---|---|
24+
| Qwen3.8 2.4T | `qwen3.8` | TBD | Agentic coding | |
25+
| Kimi-K3 | `kimik3` | 2026-07-27 | Agentic coding | |
26+
| GLM-5.2 | `glm5.2` | 2026-07-18 ([#2268](https://github.com/SemiAnalysisAI/InferenceX/pull/2268)) | Agentic coding | |
27+
| MiniMax-M3 | `minimaxm3` | 2026-06-12 ([#1724](https://github.com/SemiAnalysisAI/InferenceX/pull/1724)) | Single-turn 8k1k, Agentic coding | Single-turn 1k1k |
28+
| DeepSeek-V4-Pro | `dsv4` | 2026-04-24 ([#1130](https://github.com/SemiAnalysisAI/InferenceX/pull/1130)) | Single-turn 8k1k, Agentic coding | Single-turn 1k1k |
29+
| GLM-5 / GLM-5.1 | `glm5`, `glm5.1` | 2026-03-06 ([#762](https://github.com/SemiAnalysisAI/InferenceX/pull/762)); GLM-5.1 added 2026-04-21 ([#1098](https://github.com/SemiAnalysisAI/InferenceX/pull/1098)) | — (retired 2026-07-18, [#2276](https://github.com/SemiAnalysisAI/InferenceX/pull/2276)) | Single-turn 1k1k, Single-turn 1k8k (GLM-5 only), Single-turn 8k1k |
30+
| MiniMax-M2.5/2.7 | `minimaxm2.5` | 2026-02-18 ([#755](https://github.com/SemiAnalysisAI/InferenceX/pull/755)) | — (retired 2026-06-20, [#1874](https://github.com/SemiAnalysisAI/InferenceX/pull/1874)) | Single-turn 1k1k, Single-turn 1k8k, Single-turn 8k1k |
31+
| Kimi-K2.5/2.6/2.7-Code | `kimik2.5` | 2026-02-17 ([#734](https://github.com/SemiAnalysisAI/InferenceX/pull/734)) | Single-turn 8k1k, Agentic coding | Single-turn 1k1k, Single-turn 1k8k |
32+
| Qwen3.5-397B-A17B | `qwen3.5` | 2026-02-16 ([#704](https://github.com/SemiAnalysisAI/InferenceX/pull/704)) | Single-turn 8k1k, Agentic coding | Single-turn 1k1k, Single-turn 1k8k |
33+
| gpt-oss-120b | `gptoss` | 2025-09-09 | — (retired 2026-07-06, [#2101](https://github.com/SemiAnalysisAI/InferenceX/pull/2101)) | Single-turn 1k1k, Single-turn 1k8k, Single-turn 8k1k |
34+
| DeepSeek-R1-0528 | `dsr1` | 2025-08-13 | Single-turn 8k1k | Single-turn 1k1k, Single-turn 1k8k |
35+
| Llama-3.1-70B-Instruct | `llama70b` | 2025-08-12 | — (retired 2025-10-29, [#149](https://github.com/SemiAnalysisAI/InferenceX/pull/149)) | Single-turn 1k1k, Single-turn 1k8k, Single-turn 8k1k [^1] |
36+
37+
[^1]: `llama70b` predates the master-config system; its configs were deleted on retirement rather than archived in `configs/deprecated/`. It first shipped as workflow templates in the initial repo import (2025-08-12).
38+
39+
## Notes
40+
41+
- The `Prefix` column is the canonical `model-prefix` used in `configs/*-master.yaml` and by `generate_sweep_configs.py --model-prefix`.
42+
- "Retired" means the model no longer has any active scenario. Retired models' configs (except `llama70b`) are archived under [`configs/deprecated/`](configs/deprecated/).
43+
- `dsr1` began as the DeepSeek-V3 workflow templates in the initial repo import and was switched to DeepSeek-R1 benchmarking on 2025-08-13 (renamed `dsv3``dsr1` on 2025-08-20).
44+
- Adding a model? Follow "Adding a benchmark configuration" in [`AGENTS.md`](AGENTS.md) and add a row here (and in [`MODELS_zh.md`](MODELS_zh.md)) in the same PR.

MODELS_zh.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# 模型列表
2+
3+
[English](MODELS.md) | 中文
4+
5+
本文档记录 InferenceX-e2e 基准测试覆盖的所有模型:加入日期、当前启用的基准测试场景,以及已弃用的场景。启用场景的结果发布于 <https://inferencex.com/>
6+
7+
## 弃用公告
8+
9+
- **2026 年 8 月 6 日(星期四)****Kimi-K2.5/2.6/2.7-Code**`kimik2.5`**单轮 8k1k** 场景的最后运行日,此后该场景对这些模型弃用。原因:智能体编码(AgentX)场景已以真实流量覆盖这些模型,且 Kimi-K3 已于 2026 年 7 月 27 日发布,GPU 集群时间将转向更新的前沿模型。
10+
11+
## 场景
12+
13+
| 场景 | ISL/OSL | 状态 |
14+
|---|---|---|
15+
| 智能体编码(agentic coding) | 长上下文、多轮真实流量的轨迹回放,含子智能体(sub agents) | 启用 — 基于轨迹回放的智能体编码基准测试(见 [`benchmarks/agentic/`](benchmarks/agentic/))。今后新模型预计将仅以智能体编码场景接入。 |
16+
| 单轮 8k1k | 8192 / 1024 | 启用 — 当前主要的固定序列长度(fixed-seq-len)场景。 |
17+
| 单轮 1k1k | 1024 / 1024 | **对所有模型均已弃用**,自 2026-07-17 起([#2263](https://github.com/SemiAnalysisAI/InferenceX/pull/2263)),以便将 GPU 集群时间留给优先级更高的真实场景智能体编码基准测试与新的前沿模型。归档配置位于 [`configs/deprecated/`](configs/deprecated/)|
18+
| 单轮 1k8k | 1024 / 8192 | **对所有模型均已弃用**,自 2026-03-27 起([#911](https://github.com/SemiAnalysisAI/InferenceX/pull/911)),以便将 GPU 集群时间留给优先级更高的真实场景智能体编码基准测试与新的前沿模型。相关配置已删除,未归档。 |
19+
20+
## 模型支持矩阵
21+
22+
| 模型架构类别 | 前缀 | 加入日期 | 启用场景 | 已弃用场景 |
23+
|---|---|---|---|---|
24+
| Qwen3.8 2.4T | `qwen3.8` | 待定 | 智能体编码 | |
25+
| Kimi-K3 | `kimik3` | 2026-07-27 | 智能体编码 | |
26+
| GLM-5.2 | `glm5.2` | 2026-07-18([#2268](https://github.com/SemiAnalysisAI/InferenceX/pull/2268)| 智能体编码 | |
27+
| MiniMax-M3 | `minimaxm3` | 2026-06-12([#1724](https://github.com/SemiAnalysisAI/InferenceX/pull/1724)| 单轮 8k1k、智能体编码 | 单轮 1k1k |
28+
| DeepSeek-V4-Pro | `dsv4` | 2026-04-24([#1130](https://github.com/SemiAnalysisAI/InferenceX/pull/1130)| 单轮 8k1k、智能体编码 | 单轮 1k1k |
29+
| GLM-5 / GLM-5.1 | `glm5``glm5.1` | 2026-03-06([#762](https://github.com/SemiAnalysisAI/InferenceX/pull/762));GLM-5.1 于 2026-04-21 加入([#1098](https://github.com/SemiAnalysisAI/InferenceX/pull/1098)| —(2026-07-18 退役,[#2276](https://github.com/SemiAnalysisAI/InferenceX/pull/2276)| 单轮 1k1k、单轮 1k8k(仅 GLM-5)、单轮 8k1k |
30+
| MiniMax-M2.5/2.7 | `minimaxm2.5` | 2026-02-18([#755](https://github.com/SemiAnalysisAI/InferenceX/pull/755)| —(2026-06-20 退役,[#1874](https://github.com/SemiAnalysisAI/InferenceX/pull/1874)| 单轮 1k1k、单轮 1k8k、单轮 8k1k |
31+
| Kimi-K2.5/2.6/2.7-Code | `kimik2.5` | 2026-02-17([#734](https://github.com/SemiAnalysisAI/InferenceX/pull/734)| 单轮 8k1k、智能体编码 | 单轮 1k1k、单轮 1k8k |
32+
| Qwen3.5-397B-A17B | `qwen3.5` | 2026-02-16([#704](https://github.com/SemiAnalysisAI/InferenceX/pull/704)| 单轮 8k1k、智能体编码 | 单轮 1k1k、单轮 1k8k |
33+
| gpt-oss-120b | `gptoss` | 2025-09-09 | —(2026-07-06 退役,[#2101](https://github.com/SemiAnalysisAI/InferenceX/pull/2101)| 单轮 1k1k、单轮 1k8k、单轮 8k1k |
34+
| DeepSeek-R1-0528 | `dsr1` | 2025-08-13 | 单轮 8k1k | 单轮 1k1k、单轮 1k8k |
35+
| Llama-3.1-70B-Instruct | `llama70b` | 2025-08-12 | —(2025-10-29 退役,[#149](https://github.com/SemiAnalysisAI/InferenceX/pull/149)| 单轮 1k1k、单轮 1k8k、单轮 8k1k [^1] |
36+
37+
[^1]: `llama70b` 早于 master 配置体系;退役时其配置被直接删除,未归档到 `configs/deprecated/`。该模型最初以 workflow 模板形式随仓库首次导入(2025-08-12)。
38+
39+
## 说明
40+
41+
- 「前缀」列为 `configs/*-master.yaml` 中的规范 `model-prefix`,同时用于 `generate_sweep_configs.py --model-prefix`
42+
- 「退役」指该模型已无任何启用场景。退役模型的配置(`llama70b` 除外)归档于 [`configs/deprecated/`](configs/deprecated/)
43+
- `dsr1` 最初以 DeepSeek-V3 workflow 模板的形式随仓库首次导入,2025-08-13 切换为 DeepSeek-R1 基准测试(2025-08-20 将 `dsv3` 重命名为 `dsr1`)。
44+
- 新增模型时,请按 [`AGENTS.md`](AGENTS.md) 中「Adding a benchmark configuration」的流程操作,并在同一 PR 中同时更新本文件与 [`MODELS.md`](MODELS.md) 的表格。

benchmarks/benchmark_lib.sh

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1191,7 +1191,7 @@ import os, sys, yaml
11911191
default_path, out_path = sys.argv[1], sys.argv[2]
11921192
d = yaml.safe_load(open(default_path)) or {}
11931193
d.setdefault("agent", {})
1194-
step_limit = int(os.environ.get("SWEBENCH_AGENT_STEP_LIMIT", "75"))
1194+
step_limit = int(os.environ.get("SWEBENCH_AGENT_STEP_LIMIT", "250"))
11951195
guidance = f"""
11961196
11971197
<additional_critical_guidance>
@@ -1246,7 +1246,7 @@ PYGEN
12461246

12471247
export MSWEA_COST_TRACKING=ignore_errors
12481248
local expected="${EVAL_LIMIT:-${SWEBENCH_EXPECTED_INSTANCES:-300}}"
1249-
echo "[swebench-agentic] mini-swe-agent: workers=${SWEBENCH_AGENT_WORKERS:-${CONC:-64}} step_limit=${SWEBENCH_AGENT_STEP_LIMIT:-75} slice=${EVAL_LIMIT:-full} expected=$expected"
1249+
echo "[swebench-agentic] mini-swe-agent: workers=${SWEBENCH_AGENT_WORKERS:-${CONC:-64}} step_limit=${SWEBENCH_AGENT_STEP_LIMIT:-250} slice=${EVAL_LIMIT:-full} expected=$expected"
12501250
local agen_rc=0
12511251
mini-extra swebench \
12521252
-c "$cfg" \
@@ -1258,12 +1258,12 @@ PYGEN
12581258
local mini_pid=$!
12591259
# preds.json detects completion despite teardown hangs.
12601260
local preds_file="$gen_dir/agent_out/preds.json"
1261-
local deadline=$(( $(date +%s) + ${SWEBENCH_AGENT_TIMEOUT:-14400} ))
1261+
local deadline=$(( $(date +%s) + ${SWEBENCH_AGENT_TIMEOUT:-21600} ))
12621262
local grace_until=0
12631263
local killed_after_complete=0
12641264
while kill -0 "$mini_pid" 2>/dev/null; do
12651265
if [ "$(date +%s)" -ge "$deadline" ]; then
1266-
echo "ERROR: generation exceeded SWEBENCH_AGENT_TIMEOUT (${SWEBENCH_AGENT_TIMEOUT:-14400}s); killing mini-extra" >&2
1266+
echo "ERROR: generation exceeded SWEBENCH_AGENT_TIMEOUT (${SWEBENCH_AGENT_TIMEOUT:-21600}s); killing mini-extra" >&2
12671267
kill "$mini_pid" 2>/dev/null; sleep 5; kill -9 "$mini_pid" 2>/dev/null
12681268
agen_rc=124
12691269
break
@@ -1660,7 +1660,7 @@ resolve_trace_source() {
16601660
# WEKA_LOADER_OVERRIDE.
16611661
local default_loader
16621662
case "${MODEL_PREFIX:-}" in
1663-
dsv4*|glm5.2*|minimaxm3*)
1663+
dsv4*|glm5.2*|minimaxm3*|kimik3*)
16641664
default_loader="semianalysis_cc_traces_weka_062126"
16651665
;;
16661666
*)
@@ -1797,7 +1797,11 @@ build_replay_cmd() {
17971797
# X-Correlation-ID is useful tracing metadata but does not establish that
17981798
# binding by itself. AIPerf emits nvext.session_control bind/close actions
17991799
# keyed by the stable conversation correlation ID when this flag is set.
1800-
if [[ "${FRAMEWORK:-}" == dynamo-* ]]; then
1800+
# Opt-out: recipes set AIPERF_USE_DYNAMO_CONV_AWARE_ROUTING=0 to skip this.
1801+
# aiperf's conv-aware routing emits nvext.session_control, a removed POC field
1802+
# (dynamo #9920 / v1.3.0-dev) that current dynamo builds reject with a 400
1803+
# (they moved to router/routing_constraints/agent_context). Default stays on.
1804+
if [[ "${FRAMEWORK:-}" == dynamo-* && "${AIPERF_USE_DYNAMO_CONV_AWARE_ROUTING:-1}" != "0" ]]; then
18011805
REPLAY_CMD+=" --use-dynamo-conv-aware-routing"
18021806
# The upstream 300s affinity TTL is shorter than an overloaded
18031807
# high-concurrency agentic request. Keep bindings alive across long

0 commit comments

Comments
 (0)