Repository navigation
feat(llm): add unary chat model publisher - #15552
Conversation
✅ Dynamo PR CI passed — run 37032048466 (attempt 1) on
|
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: ai-dynamo/dynamo/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review. WalkthroughThe Python LLM package now exports ChangesUnary chat model
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~12 minutes Merge Risk: ⚪ Minimal · up to The unary chat model and client connection changes appear ready to merge after normal checks. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Description checkExplanation The description explains the motivation, implementation, PR sequence, and verification results. However, it does not include the required Related Issues section or identify where the reviewer should start.
Comment |
jthomson04
left a comment
There was a problem hiding this comment.
No actionable findings from the source review at 2e1226b. Tests and CI were not independently validated.
Why
Application-owned unary chat handlers currently call both
register_modelandserve_unary_endpointto become public chat models. An application that calls a remote generator also has to create its endpoint client and wait for a routable worker before advertising its public model.What changes
UnaryChatModel(model_path, service_name, public_model_name=None, chat_template=None)todynamo.llm. Itsserve(runtime, handler)creates<service_name>.app.generate, registers an aggregated token-input Chat model, and serves the application handler.await LLMUnaryClient.connect(runtime, endpoint_name), which creates the endpoint client and waits for a routable instance before returning the existing unary client wrapper. The direct constructor remains available.Full PR sequence
The three open PRs form GitHub stack #15572. The first two remain in completed stack #15197.
Verification
7655a83052a9c721571a6a101715337b4cbc329d(test(examples): cover the remote custom encoder topology end to end #15200), rebuilt in release mode ondl-a100with two A100 80GB GPUs: 29 focused utility/orchestrator tests and both plain-text and image serve cases passed.42, the classifier label, and the logged encoder-to-generator handoff. Pre-commit and pre-merge checks passed on all three stacked PR heads.Summary by CodeRabbit