Skip to content

knowledge(vllm-omni): 1 change(s) from refine - #393

Merged
tzhouam merged 1 commit into
mainfrom
kb/vllm-omni/vllm-omni-refine-77034f6279dc
Oct 23, 2026
Merged

tzhouam merged 1 commit into
mainfrom
kb/vllm-omni/vllm-omni-refine-77034f6279dc

Conversation

@tzhouam

@tzhouam tzhouam commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

Generated automatically by the Copilot knowledge service (changeset vllm-omni-refine-77034f6279dc).

op page rule
add repos/vllm-omni/models/personaplex/rules.md VLLM-OMNI-PR9113-CODE2WAV-DELTA

Generator: zcode:GLM-5.3 · judge: codex:gpt-6-sol:medium.
The publisher merges it only if its local gate passes on the exact merge result.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T04:33:30.587935Z 7377f70 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@tzhouam
tzhouam merged commit 325db82 into main Oct 23, 2026
3 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7377f705df

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- 触发:修改 PersonaPlex duplex plugin 的 `configure_sampling_params` 或任一 stage 的 `RequestOutputKind`;修改共享 `CumulativeAudioTextDataPlane`(`vllm_omni/model_executor/common/duplex/data_plane.py`)的 `audio_output_is_delta` 投影;或发现整 session 复用的 duplex stage 请求仍在用默认 CUMULATIVE 输出——那会让 output processor 在 API server 进程内每帧重 consolidate 全部历史 multimodal tensors,每帧成本随通话长度增长。
- 强制:只为 final stage(`configured[-1]`,即 Code2Wav)在 clone 出的 sampling params 上设 `output_kind=RequestOutputKind.DELTA`,不得改写共享默认值;Stage 0 与中间 stage 保持默认 CUMULATIVE。PersonaPlex 数据平面声明 `audio_output_is_delta = True`:delta 音频按新 chunk 整段透传,不再对 running sample count 切片;DELTA 下 output processor 不做 consolidate,一次输出可能携带多个 step 的 chunk list,必须先 join 成单个 waveform 再计数与编码。文本继续走 cumulative text cursor,只发新 suffix。共享数据平面的 `audio_output_is_delta` 默认保持 `False`,其他 duplex 模型维持现有 cumulative 切片行为。
- 禁止:直接改写共享或默认 sampling params;给非 final stage 设 DELTA;delta 模式下仍按 sample cursor 切音频,或未声明 delta 就跳过切片;假设每个输出恰好一个音频 chunk;只凭机制推理、不在目标并发下做端到端测量就宣称每帧成本不再随通话长度增长。
- 验收:`tests/model_executor/executor_common/duplex/test_data_plane.py` 覆盖 delta 音频整段透传(短于先前 chunk 的 chunk 也整段编码;空 chunk 且无新文本不产出)与同批到达的 ragged chunks 以 numpy 与 torch tensor 形态 join 成单个 waveform(`test_delta_audio_passes_through_unsliced`、`test_delta_audio_chunks_that_arrive_together_are_joined`),且既有 cumulative 投影用例不回归;`tests/model_executor/models/personaplex/duplex/test_plugin.py` 断言 Stage 1 是 DELTA clone、Stage 0 与共享默认值未被污染,并覆盖只有 final stage 切到 DELTA(`test_only_the_final_stage_switches_to_delta_output`);`tests/engine/duplex/test_session_runner_personaplex.py` 以 delta Code2Wav 输出驱动投影;性能收益须在目标并发(1–4 session)下端到端实测(PR #9113:4-session 下 API server CPU 0.8→0.2 cores)。^[PR #9113]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Defer activating the rule until PR #9113 merges

The only evidence cited by this new active rule is upstream PR #9113, which is still open rather than part of upstream main. Active PR citations are explicitly treated as must-be-merged facts by knowledge_service/facts.py, so this change cannot pass the publication gate and, if admitted outside it, would present proposed behavior as an existing contract. Publish the rule only after the source PR merges.

Useful? React with 👍 / 👎.


<!-- kb:rule status=active since=v0.30.0 supersedes=VLLM-OMNI-PR8670-AMD-PPLEX-NIGHTLY -->

## VLLM-OMNI-PR9113-CODE2WAV-DELTA — 整 session 复用的 Code2Wav 请求必须以 DELTA 音频流出

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add the new rule to the Direct quick map

Adding the rule below the existing Direct section leaves it invisible to normal PersonaPlex reviews: the model route returns this file, _direct_quick_map_text still reports the old 254-character map as ok, and read_required remains false, so the host receives only PPLEX-1a through PPLEX-3b and is told not to open the page. Add a Code2Wav/DELTA row to the quick map so the new rule can actually be selected.

AGENTS.md reference: knowledge/AGENTS.md:L16-L16

Useful? React with 👍 / 👎.

- 触发:修改 PersonaPlex duplex plugin 的 `configure_sampling_params` 或任一 stage 的 `RequestOutputKind`;修改共享 `CumulativeAudioTextDataPlane`(`vllm_omni/model_executor/common/duplex/data_plane.py`)的 `audio_output_is_delta` 投影;或发现整 session 复用的 duplex stage 请求仍在用默认 CUMULATIVE 输出——那会让 output processor 在 API server 进程内每帧重 consolidate 全部历史 multimodal tensors,每帧成本随通话长度增长。
- 强制:只为 final stage(`configured[-1]`,即 Code2Wav)在 clone 出的 sampling params 上设 `output_kind=RequestOutputKind.DELTA`,不得改写共享默认值;Stage 0 与中间 stage 保持默认 CUMULATIVE。PersonaPlex 数据平面声明 `audio_output_is_delta = True`:delta 音频按新 chunk 整段透传,不再对 running sample count 切片;DELTA 下 output processor 不做 consolidate,一次输出可能携带多个 step 的 chunk list,必须先 join 成单个 waveform 再计数与编码。文本继续走 cumulative text cursor,只发新 suffix。共享数据平面的 `audio_output_is_delta` 默认保持 `False`,其他 duplex 模型维持现有 cumulative 切片行为。
- 禁止:直接改写共享或默认 sampling params;给非 final stage 设 DELTA;delta 模式下仍按 sample cursor 切音频,或未声明 delta 就跳过切片;假设每个输出恰好一个音频 chunk;只凭机制推理、不在目标并发下做端到端测量就宣称每帧成本不再随通话长度增长。
- 验收:`tests/model_executor/executor_common/duplex/test_data_plane.py` 覆盖 delta 音频整段透传(短于先前 chunk 的 chunk 也整段编码;空 chunk 且无新文本不产出)与同批到达的 ragged chunks 以 numpy 与 torch tensor 形态 join 成单个 waveform(`test_delta_audio_passes_through_unsliced`、`test_delta_audio_chunks_that_arrive_together_are_joined`),且既有 cumulative 投影用例不回归;`tests/model_executor/models/personaplex/duplex/test_plugin.py` 断言 Stage 1 是 DELTA clone、Stage 0 与共享默认值未被污染,并覆盖只有 final stage 切到 DELTA(`test_only_the_final_stage_switches_to_delta_output`);`tests/engine/duplex/test_session_runner_personaplex.py` 以 delta Code2Wav 输出驱动投影;性能收益须在目标并发(1–4 session)下端到端实测(PR #9113:4-session 下 API server CPU 0.8→0.2 cores)。^[PR #9113]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct the attributed CPU measurement

The parenthetical attributes 0.8→0.2 cores to PR #9113, but that PR reports two four-session runs of 1.11 / 1.00 cores on main and 0.22 / 0.21 on the change; it contains no 0.8-core result. Preserve the measured values or round them accurately to about 1.0→0.2 so later performance reviews are not based on a fabricated baseline.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant