
llama.cppiOSSwiftintegrationon-device AIMetalsegment:mobile-builder
llama.cpp 在 iOS 上的應用:Swift 整合指南
將 llama.cpp 整合到 iOS 應用程式的分步指南。專案設定、Metal GPU 加速、模型載入、token 串流和記憶體管理,適用於正式環境部署。
EErtas Team·
llama.cpp 是在 Apple 硬體上運行 GGUF 語言模型的推論引擎。它使用 Metal 進行 GPU 加速,支援從 A14(iPhone 12)起的所有 iPhone 機型,並根據模型大小和裝置,以每秒 20-50 個 token 的速度生成。
本指南涵蓋從專案設定到正式環境部署的完整整合流程。
整合選項
選項 1:Swift Package(推薦)
llama.cpp 儲存庫包含一個 Swift Package,您可以直接新增到 Xcode 專案中:
- 在 Xcode 中,前往 File,Add Package Dependencies
- 輸入 llama.cpp 儲存庫 URL
- 選擇您想要的版本或分支
- 在 Swift 文件中匯入
llama模組
這是最簡單的整合路徑。該套件會在建構時編譯 llama.cpp,並將 C API 暴露給 Swift。
選項 2:預建置框架
將 llama.cpp 建構為 XCFramework 並作為二進位相依性包含。這可避免在專案中編譯 C++ 原始碼:
# 建構框架
mkdir build-ios && cd build-ios
cmake .. -G Xcode \
-DCMAKE_SYSTEM_NAME=iOS \
-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0 \
-DLLAMA_METAL=ON \
-DBUILD_SHARED_LIBS=OFF
cmake --build . --config Release
選項 3:llama.swift 封裝器
社群維護的 Swift 封裝器在 C 繫結之上提供更符合 Swift 風格的 API。這些封裝器處理橋接樣板程式碼並公開更簡潔的介面。
專案設定
最低需求
- iOS 15.0+(用於 Metal 計算著色器)
- Xcode 15+
- 實體裝置進行測試(模擬器不支援 Metal 計算)