diff --git a/Package.swift b/Package.swift index b41358b..e86f894 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", @@ -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 { 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