[Feature] Wire Looper calls to the shared connector - #3508
Conversation
✅ Deploy Preview for vllm-semantic-router ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
The deletion-only follow-up is #3509. This keeps the connector wiring and the removal of the legacy transport independently reviewable. |
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
268b4b5 to
75c02d2
Compare
Xunzhuo
left a comment
There was a problem hiding this comment.
Thanks for the careful connector migration. One response-contract regression remains: the shared connector accepts every 2xx response, while Looper’s existing path requires HTTP 200. Because the streaming parser accepts an empty body, a 204 now becomes a successful empty model response instead of an upstream-status error. Please preserve Looper’s 200-only contract and add a 204 regression test before removing the legacy path.
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
|
Thanks for catching this — you are right that The connector operation now has an optional |
Xunzhuo
left a comment
There was a problem hiding this comment.
Thanks—SuccessStatusCode: http.StatusOK now preserves the Looper 200-only contract while the shared connector keeps its default 2xx behavior, and the 204 regression covers the original blocker. This branch is behind current main; please sync it, let the resulting exact-head checks finish, and re-request review.
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Signed-off-by: JiaoliangYu <jiaolyu@amd.com>
Related #3339
Purpose
Introduce the new Looper model-call path without removing the legacy transport yet, so the wiring can be reviewed independently from deletion.
ModelTargetandCallOptionsfusionevalcall sites without changing their algorithm or response behaviorThe legacy Looper HTTP branch remains in this PR only as a reviewable migration bridge. A focused follow-up removes it after every caller is on the typed path.
Test Plan
go test -count=1 -race ./pkg/modelruntime/connector ./pkg/looper ./pkg/extprocgo vet ./pkg/modelruntime/connector ./pkg/looper ./pkg/extprocmake test-semantic-router PWD=/workspaceon the stacked final treemake agent-ci-gate ENV=cpu CHANGED_FILES="..."on the stacked final treeTest Result
All listed checks pass in
rocm/atom-dev:lateston g64. The concurrency contract test overlaps two requests and verifies model, decision, iteration, Fusion depth, and authorization headers do not cross. The endpoint contract test verifies an empty operation path preserves the configured/v1/chat/completionsendpoint exactly. The status-policy tests verify that the shared connector still accepts any 2xx by default while Looper rejects a streaming 204 response.Semantic Router PR Checklist
wg/mom-routingand one ownergit commit -s