feat(frontend): add native Kimi K3 request processing - #12396
Conversation
This comment has been minimized.
This comment has been minimized.
WalkthroughThe PR updates renderer dependencies, preserves rendered prompt segments during tokenization, adds Kimi K3 formatter and parser-specific reasoning/tool handling, validates tool parameter schemas, and updates integrations, help text, and tests. ChangesPreprocessing and validation
Estimated code review effort: 4 (Complex) | ~45 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
lib/bindings/python/Cargo.toml (1)
56-56: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winSame unpinned
dynamo-parsersversion as the root manifest.See the consolidated comment covering both
Cargo.tomland this file.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@lib/bindings/python/Cargo.toml` at line 56, Update the dynamo-parsers dependency declaration in the Python bindings manifest to use the same pinned version specification as the root Cargo manifest, keeping both manifests synchronized.Cargo.toml (1)
52-62: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winInconsistent version pinning for
dynamo-parsers.
dynamo-tokenizers,dynamo-renderer, anddynamo-protocolsare pinned exactly (=1.7.0,=5.0.0,=5.0.1), butdynamo-parsersuses"7.0.0"(Cargo's default caret range, allowing>=7.0.0, <8.0.0). Since this PR is bumping several of these lock-step "frontend crates" together specifically to add K3 support, leaving one of them unpinned risks it drifting to an incompatible minor version relative to its siblings.🔧 Proposed fix
-dynamo-parsers = { version = "7.0.0" } +dynamo-parsers = { version = "=7.0.0" }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cargo.toml` around lines 52 - 62, Pin the dynamo-parsers dependency exactly to version 7.0.0, matching the exact-version constraints used by dynamo-tokenizers, dynamo-renderer, and dynamo-protocols. Update only the version declaration for dynamo-parsers and preserve its existing dependency configuration.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@Cargo.toml`:
- Around line 52-62: Pin the dynamo-parsers dependency exactly to version 7.0.0,
matching the exact-version constraints used by dynamo-tokenizers,
dynamo-renderer, and dynamo-protocols. Update only the version declaration for
dynamo-parsers and preserve its existing dependency configuration.
In `@lib/bindings/python/Cargo.toml`:
- Line 56: Update the dynamo-parsers dependency declaration in the Python
bindings manifest to use the same pinned version specification as the root Cargo
manifest, keeping both manifests synchronized.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: fd3ea7fd-f331-462e-bb62-e6c2e973a090
⛔ Files ignored due to path filters (3)
Cargo.lockis excluded by!**/*.locklib/bindings/kvbm/Cargo.lockis excluded by!**/*.locklib/bindings/python/Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (11)
Cargo.tomlcomponents/src/dynamo/common/configuration/groups/runtime_args.pydeploy/inference-gateway/ext-proc/src/epp.rslib/bindings/c/src/lib.rslib/bindings/python/Cargo.tomllib/llm/src/preprocessor.rslib/llm/src/preprocessor/prompt.rslib/llm/src/preprocessor/structural_tag.rslib/llm/src/preprocessor/tool_choice.rslib/llm/src/protocols/openai/chat_completions.rslib/llm/src/protocols/openai/validate.rs
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
|
#12203 (just merged) should help with TRTLLM CI test failures |
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com> Co-authored-by: Ryan McCormick <rmccormick@nvidia.com>
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com> Co-authored-by: Ryan McCormick <rmccormick@nvidia.com>
Summary
Stack
Base: main
PR2 and PR3 branch independently from this PR.
Validation
Summary by CodeRabbit