From 9c157b88bb34aab67b14533acd96298faff99f12 Mon Sep 17 00:00:00 2001 From: localai-org-maint-bot Date: Mon, 14 Sep 2026 15:40:14 +0200 Subject: [PATCH] chore: :arrow_up: Update PrismML-Eng/llama.cpp to `d8f26eec76da6d09bb708bcba51ef64b8cd868a3` (#12005) * :arrow_up: Update PrismML-Eng/llama.cpp Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(bonsai): follow updated fork APIs The updated PrismML fork implements common_json_error directly, so preserve the shared gRPC source instead of rewriting it to the removed nlohmann exception type. Build and copy the renamed ggml-rpc-server target as well. Assisted-by: Codex:gpt-5 Signed-off-by: Ettore Di Giacinto --------- Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Signed-off-by: Ettore Di Giacinto Co-authored-by: mudler <2420543+mudler@users.noreply.github.com> Co-authored-by: Ettore Di Giacinto --- backend/cpp/bonsai/Makefile | 8 +++---- backend/cpp/bonsai/patch-grpc-server.sh | 24 --------------------- scripts/build/bonsai-json-compat_test.sh | 27 +++++++++--------------- 3 files changed, 13 insertions(+), 46 deletions(-) delete mode 100644 backend/cpp/bonsai/patch-grpc-server.sh diff --git a/backend/cpp/bonsai/Makefile b/backend/cpp/bonsai/Makefile index 522791d42..4d7e462c5 100644 --- a/backend/cpp/bonsai/Makefile +++ b/backend/cpp/bonsai/Makefile @@ -1,7 +1,7 @@ # Pinned to the HEAD of the `prism` branch on https://github.com/PrismML-Eng/llama.cpp. # Auto-bumped nightly by .github/workflows/bump_deps.yaml. -BONSAI_VERSION?=312bb2a93ea2bf798333fa859614fbf913ecb9e2 +BONSAI_VERSION?=d8f26eec76da6d09bb708bcba51ef64b8cd868a3 LLAMA_REPO?=https://github.com/PrismML-Eng/llama.cpp CMAKE_ARGS?= @@ -41,7 +41,6 @@ define bonsai-build # and are applied by apply-patches.sh below. rm -rf $(CURRENT_MAKEFILE_DIR)/../bonsai-$(1)-build/patches $(MAKE) -C $(CURRENT_MAKEFILE_DIR)/../bonsai-$(1)-build purge - bash $(CURRENT_MAKEFILE_DIR)/patch-grpc-server.sh $(CURRENT_MAKEFILE_DIR)/../bonsai-$(1)-build/grpc-server.cpp bash $(LLAMA_CPP_DIR)/disable-score-task.sh $(CURRENT_MAKEFILE_DIR)/../bonsai-$(1)-build/grpc-server.cpp bash $(LLAMA_CPP_DIR)/disable-tts-task.sh $(CURRENT_MAKEFILE_DIR)/../bonsai-$(1)-build/grpc-server.cpp $(info $(GREEN)I bonsai build info:$(1)$(RESET)) @@ -80,7 +79,6 @@ bonsai-cpu-all: # and are applied by apply-patches.sh below. rm -rf $(CURRENT_MAKEFILE_DIR)/../bonsai-cpu-all-build/patches $(MAKE) -C $(CURRENT_MAKEFILE_DIR)/../bonsai-cpu-all-build purge - bash $(CURRENT_MAKEFILE_DIR)/patch-grpc-server.sh $(CURRENT_MAKEFILE_DIR)/../bonsai-cpu-all-build/grpc-server.cpp bash $(LLAMA_CPP_DIR)/disable-score-task.sh $(CURRENT_MAKEFILE_DIR)/../bonsai-cpu-all-build/grpc-server.cpp bash $(LLAMA_CPP_DIR)/disable-tts-task.sh $(CURRENT_MAKEFILE_DIR)/../bonsai-cpu-all-build/grpc-server.cpp $(info $(GREEN)I bonsai build info:cpu-all-variants$(RESET)) @@ -96,10 +94,10 @@ bonsai-cpu-all: @echo "Collected ggml shared backends:" && ls -la ggml-shared-libs/ bonsai-grpc: - $(call bonsai-build,grpc,-DGGML_RPC=ON -DGGML_AVX=off -DGGML_AVX2=off -DGGML_AVX512=off -DGGML_FMA=off -DGGML_F16C=off -DGGML_BMI2=off,--target grpc-server --target rpc-server) + $(call bonsai-build,grpc,-DGGML_RPC=ON -DGGML_AVX=off -DGGML_AVX2=off -DGGML_AVX512=off -DGGML_FMA=off -DGGML_F16C=off -DGGML_BMI2=off,--target grpc-server --target ggml-rpc-server) bonsai-rpc-server: bonsai-grpc - cp -rf $(CURRENT_MAKEFILE_DIR)/../bonsai-grpc-build/llama.cpp/build/bin/rpc-server bonsai-rpc-server + cp -rf $(CURRENT_MAKEFILE_DIR)/../bonsai-grpc-build/llama.cpp/build/bin/ggml-rpc-server bonsai-rpc-server package: bash package.sh diff --git a/backend/cpp/bonsai/patch-grpc-server.sh b/backend/cpp/bonsai/patch-grpc-server.sh deleted file mode 100644 index aa9b23a50..000000000 --- a/backend/cpp/bonsai/patch-grpc-server.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# Adapt the shared llama.cpp gRPC source to the older JSON API in Bonsai. - -set -euo pipefail - -if [[ $# -ne 1 ]]; then - echo "usage: $0 " >&2 - exit 2 -fi - -SRC=$1 -if [[ ! -f "$SRC" ]]; then - echo "grpc-server.cpp not found at $SRC" >&2 - exit 2 -fi - -if grep -q 'common_json_error' "$SRC"; then - echo "==> patching $SRC to use the Bonsai JSON exception type" - awk '{ gsub(/common_json_error/, "json::parse_error"); print }' "$SRC" > "$SRC.tmp" - mv "$SRC.tmp" "$SRC" - echo "==> Bonsai JSON exception patch OK" -else - echo "==> $SRC already uses a Bonsai-compatible JSON exception type, skipping" -fi diff --git a/scripts/build/bonsai-json-compat_test.sh b/scripts/build/bonsai-json-compat_test.sh index c0cfc4f88..442cc8873 100644 --- a/scripts/build/bonsai-json-compat_test.sh +++ b/scripts/build/bonsai-json-compat_test.sh @@ -2,24 +2,17 @@ set -euo pipefail ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd) -PATCHER="$ROOT/backend/cpp/bonsai/patch-grpc-server.sh" -WORK=$(mktemp -d) -trap 'rm -rf "$WORK"' EXIT +MAKEFILE="$ROOT/backend/cpp/bonsai/Makefile" +GRPC_SERVER="$ROOT/backend/cpp/llama-cpp/grpc-server.cpp" -cat > "$WORK/grpc-server.cpp" <<'EOF' -try { - json::parse("{"); -} catch (const common_json_error& e) { -} -EOF +grep -q 'catch (const common_json_error& e)' "$GRPC_SERVER" -bash "$PATCHER" "$WORK/grpc-server.cpp" -grep -q 'catch (const json::parse_error& e)' "$WORK/grpc-server.cpp" -! grep -q 'common_json_error' "$WORK/grpc-server.cpp" +if grep -q 'patch-grpc-server.sh' "$MAKEFILE"; then + echo "Bonsai must preserve the common_json_error API provided by its pinned fork" >&2 + exit 1 +fi -# A repeated preparation pass must not change the generated source. -cp "$WORK/grpc-server.cpp" "$WORK/once.cpp" -bash "$PATCHER" "$WORK/grpc-server.cpp" -cmp "$WORK/once.cpp" "$WORK/grpc-server.cpp" +grep -q -- '--target grpc-server --target ggml-rpc-server' "$MAKEFILE" +grep -q '/llama.cpp/build/bin/ggml-rpc-server bonsai-rpc-server' "$MAKEFILE" -echo "PASS: Bonsai uses its fork-compatible JSON exception" +echo "PASS: Bonsai uses its pinned fork's JSON and RPC APIs"