Repolode
StanfordSpezi

StanfordSpezi/SpeziLLM

面向 Spezi 生态的 Swift LLM 模块包,支持端侧模型、OpenAI 与 Fog 节点推理。

Star
290
Fork
47
未关闭 Issue
23
最近提交
上个月

这是什么?

SpeziLLM 是一个 Swift Package,用于在基于 Spezi 框架的 Apple 平台应用中集成大语言模型功能。它按 target 拆分:SpeziLLM 提供基础的 LLMRunner;SpeziLLMLocal 可直接在设备上运行 Llama、Phi、Gemma、DeepSeek-R1 等开源模型;SpeziLLMLocalDownload 负责从 Hugging Face 下载模型并提供引导视图;SpeziLLMOpenAI 用于调用 OpenAI GPT 模型;SpeziLLMFog 则把推理任务分发到局域网内的 Fog 节点。

各 target 均提供纯 Swift 接口。通过注入 SwiftUI 环境的 LLMRunner,可以基于 schema 创建会话,生成结果以异步流的形式逐个返回文本片段。SpeziLLMOpenAI 还提供声明式 DSL 用于 OpenAI 函数调用,SpeziLLM 内置了可直接使用的聊天视图。

本地推理基于 mlx-swift 实现,需要模拟器不支持的 Metal GPU 特性,因此无法在模拟器中运行。Fog 节点发现依赖 Bonjour,需要在 Info.plist 中配置相应条目。

核心功能

  • 01通过 Swift 接口在 Apple 设备上本地运行开源大模型。
  • 02调用 OpenAI GPT 模型,并提供声明式 DSL 支持函数调用。
  • 03通过 Bonjour 发现局域网内的 Fog 节点并分发推理任务。
  • 04提供本地模型的 Hugging Face 下载管理与引导视图。
  • 05内置可直接使用的 SwiftUI 聊天界面。

适用场景

  • 在基于 Spezi 的 iOS 或 macOS 应用中加入端侧聊天机器人。
  • 开发调用 OpenAI 模型并支持函数调用的 SwiftUI 应用。
  • 在移动应用中把推理任务交给局域网内的本地服务器执行。

快速上手

  1. 1

    在 Xcode 或 Swift 包中将 SpeziLLM Swift 包添加为应用的依赖

  2. 2

    按所需目标(例如 SpeziLLMLocal 或 SpeziLLMOpenAI)的设置步骤进行配置

使用前须知

  • Spezi LLM Local 无法在模拟器中运行,因为它需要现代 Metal GPU。
  • 部分本地模型需要添加 Increase Memory Limit 权限。
  • OpenAI 目标依赖 OpenAI 的 API 服务,并需要认证令牌。

收录于专题

标签

常见问题

SpeziLLM 是什么?
面向 Spezi 生态的 Swift LLM 模块包,支持端侧模型、OpenAI 与 Fog 节点推理。 SpeziLLM 是一个 Swift Package,用于在基于 Spezi 框架的 Apple 平台应用中集成大语言模型功能。它按 target 拆分:SpeziLLM 提供基础的 LLMRunner;SpeziLLMLocal 可直接在设备上运行 Llama、Phi、Gemma、DeepSeek-R1 等开源模型;SpeziLLMLocalDownload 负责从 Hugging Face 下载模型并提供引导视图;SpeziLLMOpenAI 用于调用 OpenAI GPT 模型;SpeziLLMFog 则把推理任务分发到局域网内的 Fog 节点。
SpeziLLM 可以免费使用吗?用的什么许可证?
SpeziLLM 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
SpeziLLM 还在维护吗?
半年内有更新。SpeziLLM 最近一次提交是在 2026年9月27日。
SpeziLLM 适合用来做什么?
在基于 Spezi 的 iOS 或 macOS 应用中加入端侧聊天机器人。 开发调用 OpenAI 模型并支持函数调用的 SwiftUI 应用。 在移动应用中把推理任务交给局域网内的本地服务器执行。
SpeziLLM 怎么安装和运行?
在 Xcode 或 Swift 包中将 SpeziLLM Swift 包添加为应用的依赖 按所需目标(例如 SpeziLLMLocal 或 SpeziLLMOpenAI)的设置步骤进行配置
在哪里获取 SpeziLLM?
源代码和安装说明在 GitHub 上:https://github.com/StanfordSpezi/SpeziLLM

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目