用途
该技能用于构建 iOS 26+ 应用的端侧 AI 功能,基于 Apple 的 Foundation Models 框架与 Apple 端侧 3B 参数大语言模型,资料描述其为免费、离线、隐私。
要求
- iOS 26+ / macOS Tahoe 26+ / iPadOS 26+
- Apple Silicon(M1 或更新)
- 设备上已启用 Apple Intelligence
主要能力
资料列出以下核心能力与 API 用法:
基础文本生成
使用 LanguageModelSession 发起请求:
import FoundationModels
let session = LanguageModelSession()
let response = try await session.respond(to: "Summarize this article in 3 bullets")
print(response.content) // String
流式响应
let stream = session.streamResponse(to: "Explain quantum computing")
for try await partial in stream {
print(partial.content) // Incremental text
}
使用 @Generable 结构化输出
@Generable
struct RecipeSuggestion {
var name: String
var ingredients: [String]
var cookingTimeMinutes: Int
var difficulty: Difficulty
enum Difficulty: String, Generable {
case easy, medium, hard
}
}
let session = LanguageModelSession()
let recipe: RecipeSuggestion = try await session.respond(
to: "Suggest a quick pasta recipe",
generating: RecipeSuggestion.self
)
使用 @Guide 引导式生成
@Guide("Generate a haiku about nature")
struct NatureHaiku {
@Guide("First line, 5 syllables")
var line1: String
@Guide("Second line, 7 syllables")
var line2: String
@Guide("Third line, 5 syllables")
var line3: String
}
工具调用(Tool Calling)
struct WeatherTool: Tool {
let name = "get_weather"
let description = "Get current weather for a location"
struct Input: Codable {
let location: String
}
struct Output: Codable {
let temperature: Double
let condition: String
}
func call(with input: Input) async throws -> Output {
// Fetch weather from API
}
}
let session = LanguageModelSession(tools: [WeatherTool()])
let response = try await session.respond(to: "What's the weather in London?")
使用方式与最佳实践
- 使用前始终检查 LanguageModelSession.isAvailable。
- 当模型不可用(旧设备、未开启 Intelligence)时提供回退 UI。
- 使用 @Generable 获取结构化输出,而不是解析原始文本。
- 保持提示简洁——3B 模型最适合清晰、聚焦的指令。
- 对需要真实数据的操作(API 调用、数据库查询)使用工具。
- 对较长输出使用流式响应以获得更好的感知性能。
适用场景
资料未单独列出明确的业务场景清单,可参考上述能力范围:端侧文本生成、流式文本输出、结构化数据生成(如菜谱建议)、引导式生成(如俳句)、需要真实数据的工具调用(如天气查询)等。
限制与不适用场景
- 复杂推理任务(建议改用服务端 Claude/GPT)。
- 需要互联网数据的任务(模型仅离线)。
- 图像/音频生成(仅支持文本)。
- 用户未启用 Apple Intelligence 时。
资源
资料列出以下参考:Apple 的 Foundation Models Framework;WWDC25 “Bring intelligence to your app”;AppCoda 的 Foundation Models Tutorial。