From 6d4c64c6c33ffc14da33d6adc6465e422ac66e98 Mon Sep 17 00:00:00 2001 From: "mudler's LocalAI [bot]" <139863280+localai-bot@users.noreply.github.com> Date: Tue, 18 Aug 2026 09:46:15 +0200 Subject: [PATCH] chore: :arrow_up: Update mudler/vllm.cpp to `76f2a6d84e41cc9a593146a9a958f63645542731` (#11555) * :arrow_up: Update mudler/vllm.cpp Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(vllm-cpp): track ABI v21 The updated engine exposes ABI v21 after extending its speech API. The Go backend does not bind that API, so its existing mirrors remain valid. The qwen3.5 warning fix is now present upstream, so the old patch no longer applies. Assisted-by: Codex:gpt-5 --------- Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: mudler <2420543+mudler@users.noreply.github.com> Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com> --- backend/go/vllm-cpp/Makefile | 2 +- backend/go/vllm-cpp/govllmcpp.go | 4 +-- ...001-fix-qwen35-unused-lambda-capture.patch | 26 ------------------- backend/go/vllm-cpp/vllmcpp_test.go | 4 +-- 4 files changed, 5 insertions(+), 31 deletions(-) delete mode 100644 backend/go/vllm-cpp/patches/0001-fix-qwen35-unused-lambda-capture.patch diff --git a/backend/go/vllm-cpp/Makefile b/backend/go/vllm-cpp/Makefile index f01b9a77f..cc989aabc 100644 --- a/backend/go/vllm-cpp/Makefile +++ b/backend/go/vllm-cpp/Makefile @@ -11,7 +11,7 @@ JOBS?=$(shell nproc --ignore=1 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || e # vllm.cpp version VLLM_CPP_REPO?=https://github.com/mudler/vllm.cpp -VLLM_CPP_VERSION?=4880c5715f36445a30bd39d3349a06dc96085a11 +VLLM_CPP_VERSION?=76f2a6d84e41cc9a593146a9a958f63645542731 # MLX GEMM provider (darwin/metal only; see the metal branch below for why). # Consumed as the prebuilt pip wheel: building MLX from source needs `xcrun diff --git a/backend/go/vllm-cpp/govllmcpp.go b/backend/go/vllm-cpp/govllmcpp.go index 318b2d375..b880105af 100644 --- a/backend/go/vllm-cpp/govllmcpp.go +++ b/backend/go/vllm-cpp/govllmcpp.go @@ -1,6 +1,6 @@ package main -// purego bindings for the vllm.cpp stable C ABI (include/vllm.h, ABI v20). +// purego bindings for the vllm.cpp stable C ABI (include/vllm.h, ABI v21). // // The structs below are hand-mirrored PODs of the C declarations, with // explicit padding so the Go layout matches the C layout on linux/darwin @@ -21,7 +21,7 @@ import ( // the header of the VLLM_CPP_VERSION pinned in the Makefile: the build checks // the two against each other, because a mismatch is only caught at runtime by // registerLib, where it takes the backend down on every load (issue #11379). -const abiVersion = 20 +const abiVersion = 21 // The ABI's tri-state toggles (enable_prefix_caching ABI v7, // enable_jump_forward ABI v10) share one encoding: 0 is NOT "off", it is diff --git a/backend/go/vllm-cpp/patches/0001-fix-qwen35-unused-lambda-capture.patch b/backend/go/vllm-cpp/patches/0001-fix-qwen35-unused-lambda-capture.patch deleted file mode 100644 index cb3e97053..000000000 --- a/backend/go/vllm-cpp/patches/0001-fix-qwen35-unused-lambda-capture.patch +++ /dev/null @@ -1,26 +0,0 @@ -From: LocalAI maintainers -Subject: [PATCH] fix(qwen3.5): drop redundant kRequired capture - -Apple Clang diagnoses the capture of this namespace-scope reference as unused, -and vllm.cpp promotes that warning to an error. The lambda can access the name -without a capture. - -Retire this patch when the pinned vllm.cpp revision no longer captures -kRequired in the qwen3.5 refusal lambda. ---- - src/vllm/model_executor/models/qwen3_5_weights.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/vllm/model_executor/models/qwen3_5_weights.cpp b/src/vllm/model_executor/models/qwen3_5_weights.cpp -index 7150443..7de1b9d 100644 ---- a/src/vllm/model_executor/models/qwen3_5_weights.cpp -+++ b/src/vllm/model_executor/models/qwen3_5_weights.cpp -@@ -950,7 +950,7 @@ void CheckMoeQuantLayoutSupported(const std::vector& names, - // ...and the three NON-routed components, refused by the dtype the probe - // RESOLVED rather than discovered as a complaint from inside a reader (#490). - // Each of these already failed before #864; naming it is the whole change. -- const auto refuse = [&kRequired](const char* what, MoeProjDtype got, -+ const auto refuse = [](const char* what, MoeProjDtype got, - const char* supported) { - VT_CHECK(false, std::string("qwen3_5 weights: a ") + - MoeProjDtypeName(got) + " " + what + diff --git a/backend/go/vllm-cpp/vllmcpp_test.go b/backend/go/vllm-cpp/vllmcpp_test.go index 9fd8c321c..681ca4d4e 100644 --- a/backend/go/vllm-cpp/vllmcpp_test.go +++ b/backend/go/vllm-cpp/vllmcpp_test.go @@ -16,7 +16,7 @@ func TestVllmCpp(t *testing.T) { RunSpecs(t, "vllm-cpp suite") } -// The Go POD mirrors must match the C struct layout of vllm.h (ABI v20) +// The Go POD mirrors must match the C struct layout of vllm.h (ABI v21) // byte-for-byte: these offsets are the C offsets on LP64 (linux/darwin // amd64+arm64). A failure here means govllmcpp.go drifted from vllm.h. var _ = Describe("C ABI struct mirrors", func() { @@ -24,7 +24,7 @@ var _ = Describe("C ABI struct mirrors", func() { // VLLM_ABI_VERSION in the vllm.h of VLLM_CPP_VERSION (Makefile). // Moving the pin past this without growing the mirrors below ships a // backend that refuses every load at startup (issue #11379). - Expect(abiVersion).To(Equal(20)) + Expect(abiVersion).To(Equal(21)) }) It("cModelParams matches vllm_model_params", func() {