苹果在 WWDC26 正式推出 fm CLI 命令行工具以及配套 Foundation Models Python SDK,依托 macOS 27 内置的 Apple Intelligence 端侧基座,开发者可以不用部署第三方 GGUF、MLX 模型,直接在本地调用苹果原生端侧大模型,有两条接入路线,一条是在 Python 脚本里调用 fm 命令行做子进程调用,另一条是直接使用官方 Python SDK,原生支持结构化输出、图片输入、工具调用,全程默认离线本地推理,数据不会上传云端,也可以按需切换到 Private Cloud Compute 的云端增强模型,对做本地评估、私有自动化脚本、RAG、Agent 流程的 Python 开发者非常友好,前提是设备为 Apple Silicon,并且开启 Apple Intelligence。
fm CLI 基础能力与常用指令
fm CLI 在 macOS 27 是系统预装,装好系统之后终端直接可用,不用额外下载二进制包,核心分成交互式会话、单次请求、结构化 Schema 生成三类用法。
| 指令 | 作用 | 适用场景 |
|---|---|---|
| fm chat | 开启交互式对话会话,支持保存、恢复会话 | 调试提示词、多轮对话原型测试 |
| fm respond | 单次请求,返回文本,支持图片、schema 参数 | shell 管道、Python 子进程调用、批量处理 |
| fm schema | 生成 JSON Schema,配合 respond 做强结构化输出 | 解析数据、导出固定格式结果 |
| fm --model | 切换模型,可选本地端侧模型或者 PCC 模型 | 简单任务本地跑,复杂推理切增强版 |
fm CLI 支持传入图片,适合在脚本里做图文理解,输出支持流式文本,也可以配合管道,把结果交给 Python 继续清洗、入库、二次处理。
两条 Python 集成路线对比
- 方式一:Python 调用 fm CLI(子进程调用)
- 方式二:官方 Foundation Models Python SDK(推荐)
上手门槛最低,不需要安装 SDK,用 subprocess 拉起 fm respond,传递 prompt、图片路径、schema,捕获标准输出;缺点是不方便精细控制流式回调、工具调用,大量并发场景稳定性一般,适合轻量自动化。
pip 安装 apple_fm_sdk,直接在 Python 代码里面调用和 Swift Foundation Models 同源的底层框架,原生提供可用性检测、会话管理、tool calling、引导生成、结构化输出,和整个苹果端侧模型栈保持一致,适合评估流水线、批量实验、Agent 开发。
环境硬性前置条件清单
- 硬件:Apple Silicon(M 系列芯片),Intel Mac 不支持这套端侧模型。
- 系统:macOS 27,fm CLI 随系统预装,低版本没有内置。
- 系统设置:Apple Intelligence 已经在系统设置里面开启,并且完成下载本地模型资源包。
- Python:推荐 3.10 及以上版本,官方 SDK 最低兼容版本以此为准。
- 网络:本地推理模式不需要联网;切换到 PCC 增强模型时需要网络并且受苹果账号权限管控。
Python SDK 接入实操步骤
- 确认设备已经开启 Apple Intelligence,等待本地模型资源下载完成,终端输入 fm,验证命令可用。
- 在 Python 环境执行 pip install apple_fm_sdk,安装官方 SDK。
- 在代码里先检测模型是否可用,避免直接调用抛出异常。
- 创建会话,传入系统提示词,调用 respond,设置引导生成、JSON Schema、工具回调。
- 如果需要图片输入,传入本地图片路径或者图像对象,直接交给模型做多模态理解。
- 批量任务、评估任务直接循环调用,搭配 pandas、scikit-learn 等库做结果统计。
- 如果想要 OpenAI 兼容接口,可以使用社区封装的 apple-fm-cli,启动本地代理服务,对接各类客户端。
fm CLI + Python 子进程简易流程
- 使用 subprocess.run 或者 Popen,执行 fm respond,通过参数传入提示词、图片、schema。
- 捕获 stdout 拿到模型返回文本,捕获 stderr 读取报错、安全拦截信息。
- 增加超时控制,防止模型长时间生成卡住脚本。
- 对返回文本做 JSON 解析、清洗,继续后续业务逻辑。
- 适合不想引入 SDK 依赖、只是少量调用的简单脚本。
整体来看,这套方案最大优势就是原生系统深度绑定,不用自己维护模型权重、做量化、调试 Metal 内核,隐私性强;短板也很明显,平台锁死在新版 macOS + Apple Silicon,不能跨 Linux、Windows,模型本身是苹果封闭基座,没法自定义权重、做 LoRA 微调,适合私有化本地工作流,而不是跨平台模型部署方案。
【常见问题】
问题 1:Apple fm CLI 本地运行端侧大模型,能不能脱离网络使用?
回答 1:默认使用 Apple fm CLI 本地运行端侧大模型的时候,推理完全离线,不需要网络;只有手动切换到 PCC 云端增强模型,才会联网。
问题 2:Apple fm CLI 和 Foundation Models Python SDK,在本地运行端侧大模型时是两套独立模型吗?
回答 2:不是,Apple fm CLI 和 Foundation Models Python SDK 底层调用的是同一套系统内置端侧大模型,只是入口不同,能力池保持一致。
问题 3:Windows、Linux 电脑可以用 Apple fm CLI 本地运行端侧大模型并且接入 Python 吗?
回答 3:不行,Apple fm CLI 是 macOS 27 预装工具,只支持 Apple Silicon Mac,Windows、Linux 没有对应的端侧基座,无法本地运行这套苹果大模型。
问题 4:使用 Apple Foundation Models Python SDK 集成,支持工具调用吗?
回答 4:支持,官方 Foundation Models Python SDK 在本地运行端侧大模型时原生支持 tool calling,和 Swift Foundation Models 框架对齐,适合搭建 Python Agent。
问题 5:Apple fm CLI 本地端侧大模型,支持自定义微调或者加载第三方 GGUF 模型吗?
回答 5:不支持,Apple fm CLI 只能调用苹果官方内置的 Foundation Models,不能加载外部 GGUF、MLX 模型,也不支持本地微调基座权重。
【参考资料】
[2026-06-10](Build AI-powered scripts with the fm CLI and Python SDK)Apple Developer
[2026-06-10](What’s new in the Foundation Models framework)Apple Developer
[2026-06-10](使用 fm CLI 和 Python SDK 构建 AI 驱动的脚本)苹果开发者中文站
[2026-06-12](Apple Intelligence fm CLI + Python SDK 上手教程)InfoQ
[2026-06-15](apple_fm_sdk PyPI 项目页)PyPI
【免责声明】
本文仅为技术科普,Apple fm CLI、Foundation Models Python SDK、端侧模型可用范围、功能限制、权限规则以苹果官方开发者文档、macOS 正式版本为准;端侧模型可用性受芯片、系统版本、地区账号、Apple Intelligence 政策影响,不同版本能力存在差异。
