LanguageModelSession PRO
LanguageModelSession 是 Scripting 提供的 Apple Intelligence 本地语言模型会话 API,用于调用 iOS Foundation Models 执行文本生成、结构化输出、流式响应等任务。
该 API 封装了系统级语言模型能力,支持:
- 本地 AI 推理(Apple Intelligence)
- JSON Schema 结构化输出
- 流式 token 输出
- 会话级资源管理与预热
- 可控生成参数
LanguageModelSession 是全局 API,不需要从 scripting 模块导入。
可用性
表示当前设备是否支持 Foundation Models。
返回值:
说明:
- 只有支持 Apple Intelligence 的设备才会返回
true - 在调用前建议先检测可用性
示例:
创建会话
参数:
说明:
- 创建一个新的语言模型会话
instructions用于提供系统级指令,控制模型行为(类似 system prompt)- 指令在整个 session 生命周期中生效
示例:
属性
isResponding
说明:
- 表示当前是否正在生成响应
- 可用于 UI 状态控制
预热模型
说明:
- 提前加载模型资源
- 减少首次响应延迟
- 可选择缓存 prompt 前缀
参数:
示例:
适用场景:
- 用户即将发起 AI 请求
- 希望减少首次 token 延迟
生成响应
返回:
说明:
- 执行一次完整生成
- 支持 JSON Schema 结构化输出
- 自动解析 JSON
参数:
参数说明:
-
temperature- 0.0 ~ 1.0
- 越高随机性越强
-
maxResponseTokens- 最大生成 token 数
-
schema- 期望输出的 JSON 结构
- 如果生成内容不是合法 JSON,则
json为 null
结构化输出示例
流式响应
返回:
说明:
- 以流方式生成文本
- 适用于聊天 UI 或逐 token 输出
参数:
示例:
释放资源
说明:
- 释放语言模型会话资源
- 使用完成后建议调用
- 可减少内存占用
示例:
完整示例
使用建议
- 在需要多次调用时复用同一个 session
- 首次使用前调用
prewarm可降低延迟 - 结构化数据建议使用
schema以提高稳定性 - 长文本输出建议使用
streamResponse - 完成后调用
dispose释放资源
