From 57d58f6db39486e538ed28aac7b447325f4e7ba5 Mon Sep 17 00:00:00 2001 From: tattn <8188636+tattn@users.noreply.github.com> Date: Fri, 6 Jun 2025 15:40:01 +0000 Subject: [PATCH 1/2] auto: update llama.cpp dependency --- Package.swift | 4 ++-- Sources/LocalLLMClientLlamaC/exclude/llama.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Package.swift b/Package.swift index b41358b..ce0df49 100644 --- a/Package.swift +++ b/Package.swift @@ -2,7 +2,7 @@ import PackageDescription -let llamaVersion = "b5575" +let llamaVersion = "b5602" // MARK: - Package Dependencies @@ -94,7 +94,7 @@ packageTargets.append(contentsOf: [ name: "LocalLLMClientLlamaFramework", url: "https://github.com/ggml-org/llama.cpp/releases/download/\(llamaVersion)/llama-\(llamaVersion)-xcframework.zip", - checksum: "78ba1f1a8622e548f5e8a29b93473afe2e879b9b0781c3af0d31673c3310c7d6" + checksum: "88b75946b8fdedc1eb7eb97be1286d0f15c836f3676579305cf091cb977740ac" ), .target( name: "LocalLLMClientLlamaC", diff --git a/Sources/LocalLLMClientLlamaC/exclude/llama.cpp b/Sources/LocalLLMClientLlamaC/exclude/llama.cpp index bfd3227..745aa53 160000 --- a/Sources/LocalLLMClientLlamaC/exclude/llama.cpp +++ b/Sources/LocalLLMClientLlamaC/exclude/llama.cpp @@ -1 +1 @@ -Subproject commit bfd322796cd838f906535ff3352624fc46338894 +Subproject commit 745aa5319b9930068aff5e87cf5e9eef7227339b From e39a218ff8d7a17d39bc204a27cceae5a3763cce Mon Sep 17 00:00:00 2001 From: "tattn (Tatsuya Tanaka)" Date: Sat, 7 Jun 2025 03:59:39 +0900 Subject: [PATCH 2/2] fix: remove unused linker flags and improve llama initialization logic --- Package.swift | 2 +- Sources/LocalLLMClientLlama/Utility.swift | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index ce0df49..e86f894 100644 --- a/Package.swift +++ b/Package.swift @@ -159,7 +159,7 @@ packageTargets.append(contentsOf: [ ], linkerSettings: [ .unsafeFlags([ - "-lggml-base", "-lggml-cpu", "-lggml-rpc", "-lggml", "-lllama", "-lmtmd" + "-lggml-base", "-lggml", "-lllama", "-lmtmd" ]) ] ), diff --git a/Sources/LocalLLMClientLlama/Utility.swift b/Sources/LocalLLMClientLlama/Utility.swift index 548b570..02a2f1b 100644 --- a/Sources/LocalLLMClientLlama/Utility.swift +++ b/Sources/LocalLLMClientLlama/Utility.swift @@ -5,6 +5,7 @@ #else @preconcurrency import LocalLLMClientLlamaC #endif +import Foundation #if canImport(OSLog) import OSLog #endif @@ -20,6 +21,10 @@ nonisolated(unsafe) private var llamaLogCallback: ((LlamaLogLevel, String) -> Vo public func initializeLlama() { guard !isLlamaInitialized else { return } isLlamaInitialized = true +#if os(Linux) + ggml_backend_load_all_from_path(ProcessInfo.processInfo.environment["LD_LIBRARY_PATH"]) +#endif + llama_backend_init() if !isCustomLogEnabled {