Repository navigation
knowledge(vllm-omni): 1 change(s) from refine #402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| --- | ||
| title: "vllm-omni /v1/realtime WebSocket 一致性评审规则" | ||
| created: 2026-10-23 | ||
| updated: 2026-10-23 | ||
| type: rule | ||
| tags: [vllm-omni] | ||
| sources: ["PR #8258"] | ||
| --- | ||
|
|
||
| # vllm-omni /v1/realtime WebSocket 一致性评审规则 | ||
|
|
||
| ## VLLM-OMNI-PR8258-REALTIME-CONFORMANCE — /v1/realtime WebSocket 一致性回归:created 先于首个 updated 与空 commit 报错 | ||
|
|
||
| - 触发:改动 Qwen3-Omni `/v1/realtime` WebSocket 协议行为——`session.created` / `session.updated` 事件的产生、顺序或 `session` 对象字段,或 `input_audio_buffer.commit` 对空音频缓冲的处理——或改动 `tests/entrypoints/openai_api/test_qwen3_omni_realtime_websocket.py` 中 `TestQwen3OmniRealtimeWebSocket` 的协议一致性测试(`test_session_lifecycle_events`、`test_empty_commit_returns_error`)及其 `_conformance_recv_until` / `_conformance_events_of_type` / `_conformance_open_session` 辅助函数。 | ||
| - 强制:`test_session_lifecycle_events` 的断言范围仅是截至首个 `session.updated`(含)的事件前缀——`_conformance_open_session` 发送 `session.update` 后按谓词驱动收集,见到首个 `session.updated` 即停止:该前缀内恰好一个 `session.created`、首个 `session.updated` 确已到达、`session.created` 的索引先于 `session.updated`,且该 `session.created` 携带的 `session` 对象含 `id` 字段;首个 `session.updated` 之后的事件不在此回归的可见范围内,不得据此把断言表述为整个连接期间两类事件各恰好一次。`test_empty_commit_returns_error`:未发送任何音频即提交 `input_audio_buffer.commit` 时,服务端须在 30 秒内返回 `error` 事件且其内容(小写化后)包含 "empty"。一致性用例必须复用类级共享 `omni_server` fixture(`realtime_async_chunk_server_params` indirect 参数化)连接既有服务器,不得为用例另起服务;事件收集须为带超时的谓词驱动循环(一般路径默认 120 秒),跳过二进制帧,途中收到 `server_error` 类型错误立即以 AssertionError 失败而非等超时。 | ||
| - 禁止:删除这两个回归或放宽其断言(放弃前缀内“恰好一个 `session.created`”、created 先于 updated 的次序核对、`session` 对象 `id` 字段核对或 "empty" 文案核对);为单条一致性用例新起独立服务器实例;去掉 `advanced_model` / `omni` 标记或 `hardware_test(res={"cuda": "H100", "rocm": "MI325"}, num_cards=2)` 硬件门槛使回归在错误硬件层被跳过或静默通过;把等待循环改成无超时的裸 `recv()`。 | ||
| - 验收:在 H100/MI325 双卡环境 `pytest tests/entrypoints/openai_api/test_qwen3_omni_realtime_websocket.py::TestQwen3OmniRealtimeWebSocket -k "lifecycle or empty_commit" --run-level=advanced_model` 通过;两测试仍带 `advanced_model`、`omni` 标记与上述 `hardware_test` 声明。^[PR #8258] | ||
|
|
||
| <!-- kb:rule status=active since=v0.30.0 --> | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Direct route table sends WebSocket/OpenAI changes to
components/serving/rules.md, while this repository-root page is linked only from_index.md, which Direct reviews do not revisit after resolving an exact owner. Consequently, future reviews of the behavior described here will not load this rule. Move the conclusion into the serving owner—likelycomponents/serving/rules-realtime-openai.md—and expose it through the serving quick map/index instead.AGENTS.md reference: AGENTS.md:L12-L14
Useful? React with 👍 / 👎.