eastriverlee/LLM.swift
LLM.swift is a simple and readable library that allows you to interact with large language models locally with ease for macOS, iOS, watchOS, tvOS, and visionOS.
What it solves
LLM.swift 是一個簡化將大型語言模型(LLM)整合到 Apple 生態系統應用(macOS、iOS、watchOS、tvOS 與 visionOS)中的函式庫。它提供高階、易讀的 Swift 介面以在本機執行模型,免除管理低階 C++ 綁定或手動提示格式化的複雜性。
How it works
此函式庫作為 llama.cpp 的抽象層,允許開發者從本機 bundle 或直接從 Hugging Face 載入 GGUF 格式的模型。它會處理對話歷史、聊天模板(使用模型內建的 Jinja 引擎或手動覆寫),以及增量 token 評估,以優化行動裝置上的效能。
Who it’s for
適合在 Apple 平台上開發 AI 應用的 Swift 開發者,想要在裝置本地執行 LLM 而不依賴雲端 API。
Highlights
- Type-Safe Structured Output:使用
@Generatable巨集自動從 Swift 結構與列舉產生 JSON schema,確保模型產生有效且程式化的回應。 - Native Tool Use:支援函式呼叫,讓模型能透過
Tool協議與 Swift 程式碼互動。 - Chain of Thought Support:內建思考 token 處理,讓開發者能將模型的內部推理過程與最終答案分離。
- Local Model Management:支援從本機檔案載入模型或直接從 Hugging Face 下載。
- Text Embeddings:內建產生與比較文字嵌入的功能,可用於語意搜尋與相似度任務。