用途:本参考用于在 Swift 中接入 Apple 端侧大语言模型(3B 参数、2-bit 量化、4096 token 上下文,输入输出合计),适用于摘要、抽取、分类与生成;官方说明其不适合世界知识、复杂推理、数学与翻译。全程端侧运行,无网络、无费用、数据不出设备。
主要能力:LanguageModelSession 为核心类,维护对话历史(transcript)、多轮交互与模型状态;可在创建时传入 instructions、tools,或指定 model/useCase。respond(to:) 返回 Response<String>;respond(to:generating:) 配合 @Generable 类型返回结构化对象。@Generable 在编译期生成 schema,采用受限解码保证结构正确,支持基础类型、数组与递归组合类型;@Guide 提供 description、.range()、.count()、.maximumCount() 与正则约束。属性按声明顺序生成,建议把标题等关键字段放前以优化流式体验。
使用方式:分步创建会话并调用;示例 let session = LanguageModelSession();结构化输出示例 @Generable struct SearchSuggestions { @Guide(description: "A list of suggested search terms", .count(4)) var searchTerms: [String] }。流式为快照式(非增量),通过 streamResponse(to:generating:) 返回 AsyncSequence 的 PartiallyGenerated 类型,属性均为可选并逐步填充,可配合 SwiftUI 状态渲染。Tool 协议含 name、description、Arguments 与 call(arguments:),模型可自主决定调用、可并行与多次调用;ToolOutput 支持字符串或 GeneratedContent。动态 schema 用 DynamicGenerationSchema 与 GenerationSchema 在运行时构建。安全上禁止把不可信用户输入插入 instructions,用户输入应只进入 prompt。限制:本资料未提供收费、价格与平台等事实;模型调用不保证一定触发工具。