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 struct 和 enum 生成 JSON schema,确保模型产生有效、可编程的响应。 - Native Tool Use:支持函数调用,允许模型通过
Tool协议与 Swift 代码交互。 - Chain of Thought Support:提供内置的思考 token 处理,让开发者将模型的内部推理过程与最终答案分离。
- Local Model Management:支持从本地文件加载模型或直接从 Hugging Face 下载。
- Text Embeddings:内置生成和比较文本嵌入的功能,可用于语义搜索和相似度任务。