La commande fm de macOS : le LLM local d’Apple dans Terminal.

macOS 27 inclut un outil en ligne de commande appelé fm qui met le propre modèle de langage d’Apple dans Terminal : des prompts ponctuels, un chat, du JSON structuré pour les scripts. Voici ce qu’Apple dit qu’il fait, ce dont votre Mac a besoin, où le petit modèle sur l’appareil s’arrête, et ce qu’un modèle ouvert peut faire à la place sur le même Mac.

Mis à jour

L’essentiel

  • fm est préinstallé avec macOS 27. Tapez fm dans Terminal pour lister ses commandes, comme respond, chat et schema (Apple).
  • Par défaut, il utilise le modèle sur l’appareil fourni avec macOS. --model pcc envoie le prompt au modèle Private Cloud Compute d’Apple, bien plus grand, qui a des limites d’utilisation.
  • Le modèle sur l’appareil demande un Mac compatible avec Apple Intelligence (M1 ou plus récent). Apple Intelligence occupe jusqu’à 14 GB de stockage sur les Mac avec M3 ou plus récent et 12 GB de mémoire ou plus, et jusqu’à 8 GB sur les autres (Apple).
  • Sa fenêtre de contexte est petite : 4 096 tokens dans la documentation d’Apple, 8 192 dans un exemple de code de la WWDC26. Pour de longs documents ou des tâches plus difficiles, un modèle ouvert sur le GPU de votre Mac va plus loin : voyez ce que votre Mac peut faire tourner.

1Ce qu’est fm

fm est l’outil en ligne de commande d’Apple pour Apple Foundation Models, les modèles derrière Apple Intelligence. « Starting from macOS 27, this command line tool comes pre-installed on your Mac », dit Apple dans sa session de la WWDC26 consacrée à l’outil ; vous ouvrez Terminal et tapez fm (Apple). Apple le présente pour les scripts et l’automatisation « without writing a line of app code » (Apple).

Il peut parler à deux modèles. Par défaut, il utilise « the on-device model that comes with macOS, and that's always available ». Il peut aussi utiliser l’Apple Foundation Model sur Private Cloud Compute, qu’Apple décrit comme « a much bigger model than the on-device model », qui « will perform better on complex problems » et qui « has usage limits » (Apple). Le modèle sur l’appareil tourne sur votre Mac et fonctionne sans connexion Internet (Apple) ; un prompt envoyé à Private Cloud Compute part sur les serveurs d’Apple.

fm est un logiciel d’Apple et n’a rien à voir avec MLX Network. MLX Network est indépendant et n’est pas affilié à Apple.

2Les commandes

Voici les commandes et options qu’Apple montre dans ses sessions de la WWDC26 (Apple, Apple) :

Commande ou optionCe qu’elle fait
fmListe les commandes disponibles.
fm respond "…"Envoie un prompt au modèle et affiche sa réponse, pour les scripts et les questions ponctuelles.
fm chatUne conversation interactive dans Terminal. À l’intérieur, /model passe au modèle Private Cloud Compute et /save enregistre la conversation pour la reprendre plus tard.
fm schema objectCrée un schéma, pour que fm respond renvoie du JSON structuré.
--model pccEnvoie le prompt au modèle Private Cloud Compute au lieu du modèle sur l’appareil.
--imageAjoute une image au prompt.
--schemaFait suivre à la réponse un schéma créé avec fm schema object.
--instructionsDonne au modèle des instructions séparées du prompt.
--helpAffiche toutes les options.
Apple indique qu’il existe d’autres commandes ; fm seul les liste sur votre Mac.

Les exemples d’Apple, tirés de la session :

fm respond "Provide a basic regex in Swift to parse an email address"
fm respond "Provide a comprehensive regex in Swift to parse an email address" --model pcc
fm schema object --name AppsIdentified --string app_names --array > schema.json
fm respond "What apps are the user actively using in this screenshot?" \
  --image Screenshot.png --model pcc --schema schema.json
# {"app_names": ["Messages", "Mail", "Calendar"]}
fm respond --help
Des publications sur macOS 27 décrivent aussi des commandes comme fm serve, fm available et fm license. Les sessions d’Apple à la WWDC26 et la documentation Foundation Models que nous avons lues ne les décrivent pas, ce guide non plus. Lancez fm sur votre Mac pour voir ce que contient votre version.

3Ce qu’il vous faut, et combien il télécharge

  • macOS 27. fm est fourni avec (Apple).
  • Un Mac compatible avec Apple Intelligence. Apple Foundation Models en ont besoin (Apple) ; sous macOS 27, c’est tout Mac avec M1 ou plus récent (Apple).
  • Une langue prise en charge. Apple Intelligence demande que la langue de l’appareil et celle de Siri soient la même langue prise en charge, et ne fonctionne pas pour l’instant sur les appareils achetés en Chine continentale (Apple).
  • De l’espace disque libre pour Apple Intelligence, ci-dessous.
MacStockage d’Apple Intelligence sous macOS 27
M3 ou plus récent avec au moins 12 GB de mémoire unifiéeJusqu’à 14 GB
Autres Mac avec Apple Intelligence (M1, M2 ou moins de 12 GB de mémoire)Jusqu’à 8 GB
D’après la page d’Apple sur la configuration requise pour Apple Intelligence. Apple donne ces chiffres pour Apple Intelligence dans son ensemble, pas pour le seul modèle qu’utilise fm.

Le modèle peut être indisponible un moment après l’activation d’Apple Intelligence : le framework d’Apple le signale comme pas prêt « because it's downloading or because of other system reasons » (Apple).

Pour le SDK Python, qui utilise le même modèle sur l’appareil, Apple demande macOS 26.0 ou plus récent, Xcode 26.0 ou plus récent avec sa licence acceptée, et Python 3.10 ou plus récent (Apple), sur un Mac Apple Silicon (Apple).

4Ce que le modèle sur l’appareil fait bien, et où il s’arrête

Apple est clair : les modèles sur l’appareil excellent dans de nombreuses tâches de génération de texte, comme le résumé, l’extraction d’entités, la compréhension de texte et d’images, la reformulation, les dialogues de jeux ou la création de contenu ; quand vous avez besoin de plus de capacités de raisonnement et de contexte, utilisez Private Cloud Compute ou n’importe quel fournisseur de modèles sur serveur (Apple).

  • Une petite fenêtre de contexte. La documentation d’Apple donne au modèle sur l’appareil « a context window of 4096 tokens per session » (Apple) et indique 4K contre 32K pour Private Cloud Compute (Apple). Dans sa session de la WWDC26 sur macOS 27, l’exemple de code d’Apple affiche un contextSize de 8 192 (Apple). Le prompt, les instructions et la réponse se partagent cette fenêtre.
  • Ce que ça contient. En anglais, un token fait généralement trois à quatre caractères (Apple), donc 8 192 tokens représentent environ 25 000 à 33 000 caractères d’entrée et de sortie réunies : quelques pages, pas un livre ni une base de code.
  • Des prompts courts et simples. « An on-device model has fewer parameters and a small context window », donc Apple demande des prompts « short and succinct » et dit que les modèles sur l’appareil « have limited reasoning abilities » : découpez une tâche difficile en étapes (Apple).
  • Il change avec macOS. Apple met à jour le modèle avec les mises à jour du système ; macOS 27 en apporte une nouvelle version (Apple). Les résultats d’un script peuvent varier après une mise à jour.

Apple ne donne pas la taille du modèle sur l’appareil sur ces pages, nous non plus.

5Utiliser fm dans des scripts et du code

fm respond affiche la réponse, il s’insère donc dans n’importe quel script shell. Avec --schema, la réponse est du JSON que vous pouvez passer à jq. La session d’Apple trie ainsi un dossier de projet : elle demande au modèle quels fichiers sont définitifs et lesquels sont des brouillons, puis les copie et les déplace. Version raccourcie de l’exemple d’Apple (Apple) :

fm schema object --name "TriagedFileList" \
  --string 'final_files' --array \
  --string 'draft_files' --array > /tmp/schema.json

output=$(fm respond \
  --instructions "Return the latest files, then separately all draft files." \
  "This is the list of all files:\n\n${files_list}" \
  --schema /tmp/schema.json
)

echo "${output}" | jq -r '.draft_files[]'

Pour Python, il y a le Foundation Models SDK d’Apple, pip install apple_fm_sdk, avec le même modèle sur l’appareil, la génération guidée et l’appel d’outils (Apple). L’exemple d’Apple :

import apple_fm_sdk as fm

model = fm.SystemLanguageModel()
is_available, reason = model.is_available()
if is_available:
    session = fm.LanguageModelSession(model=model)
    response = await session.respond(prompt="Hello!")
    print(response)

Beaucoup d’apps et d’agents de code attendent plutôt une API de style OpenAI ou Anthropic sur un port local. Si c’est ce qu’il vous faut, mlx_lm.server sert le modèle ouvert de votre choix sur une API de style OpenAI à l’adresse localhost:8080 (mlx-lm), et le serveur local de LM Studio parle les formats OpenAI et Anthropic (LM Studio). D’autres options : les meilleures apps pour faire tourner des LLM sur Mac.

6Quand passer à un modèle ouvert

Gardez fm pour les tâches courtes : résumer une note, nommer un fichier, extraire des champs d’un texte, une question rapide. Il est déjà sur le Mac et ne demande aucune configuration. Passez à un modèle ouvert quand l’entrée ne tient pas en quelques milliers de tokens, quand la tâche demande plus de raisonnement ou du code, quand vous voulez choisir le modèle, ou quand un outil a besoin d’une API.

Un modèle ouvert tourne sur le GPU de votre Mac, et ce qui tient dépend de la mémoire unifiée. Notre calcul sur Compare en donne environ 75 % au GPU par défaut et laisse de la place pour le contexte :

Mémoire du MacPour le GPUTourne bien, par exempleMémoire nécessaire
8 GBenviron 6 GBLlama 3.1 8B en 4 bits4,5 GB, 6,0 GB avec le contexte
16 GBenviron 12 GBLlama 3.1 8B en 8 bits, Qwen3.5 9B en 6 bits8,5 GB et 7,3 GB, 10,0 et 8,8 GB avec le contexte
24 GBenviron 18 GBgpt-oss-20b, 4,25 bits natifs13,8 GB, 15,3 GB avec le contexte
32 GBenviron 24 GBQwen3.6 35B A3B en 4 bits19,7 GB, 21,3 GB avec le contexte
Notre calcul d’après les fiches officielles des modèles : MLX stocke (bits + 0,5) par poids, plus 8 % ou 1,5 GB pour le contexte. Tout ce que chaque taille fait tourner, avec des fourchettes de vitesse : 8 GB, 16 GB, 24 GB, 32 GB.

Ces modèles annoncent des fenêtres de contexte bien plus longues sur leurs fiches, 128K tokens pour Llama 3.1 8B et 262 144 pour Qwen3.6 35B A3B, mais un long contexte demande de la mémoire au-delà de la place comptée plus haut. Vous ne savez pas ce qu’a votre Mac ? Menu Apple, À propos de ce Mac, puis voyez les Mac par puce.

mlx-lm est une façon de les faire tourner : les outils MLX d’Apple téléchargent des modèles MLX sur Hugging Face, discutent avec eux dans le Terminal et servent l’API locale ci-dessus. LM Studio et Ollama font de même dans une app (les meilleures apps pour faire tourner des LLM sur Mac). Quand vous n’utilisez pas le Mac, MLX Node peut exécuter des tâches d’IA pour MLX Network dans les limites que vous fixez et gagne des jetons MLX pour le travail vérifié. Les jetons MLX peuvent perdre de la valeur ; lisez les risques.

7Questions

La commande fm de macOS est-elle gratuite ?
Elle est préinstallée avec macOS 27 et utilise par défaut le modèle sur l’appareil fourni avec macOS. Le modèle Private Cloud Compute, plus grand, a des limites d’utilisation (Apple).
fm fonctionne-t-il hors ligne ?
Avec le modèle sur l’appareil, oui : Apple dit qu’il fonctionne sans connexion Internet (Apple). Apple Intelligence doit d’abord être téléchargé, et --model pcc ou /model dans fm chat utilisent les serveurs d’Apple.
Quelle longueur de prompt fm accepte-t-il ?
Le prompt, les instructions et la réponse se partagent une fenêtre de contexte : 4 096 tokens dans la documentation d’Apple et 8 192 dans l’exemple d’Apple à la WWDC26 pour macOS 27 (Apple). En anglais, cela fait environ trois à quatre caractères par token.
fm propose-t-il une API compatible OpenAI ?
Les sessions d’Apple à la WWDC26 et la documentation Foundation Models que nous avons lues ne décrivent pas de mode serveur, nous ne pouvons donc pas confirmer comment il fonctionnerait. Pour une API locale documentée, mlx_lm.server sert des modèles ouverts à l’adresse localhost:8080 au style OpenAI, et LM Studio aux formats OpenAI et Anthropic.
Quels Mac peuvent utiliser fm ?
Les Mac sous macOS 27 compatibles avec Apple Intelligence : tout Mac avec M1 ou plus récent, réglé sur une langue prise en charge, avec jusqu’à 14 GB (M3 ou plus récent avec 12 GB ou plus) ou jusqu’à 8 GB de stockage libre (Apple).

Sources

  1. Appledeveloper.apple.com
  2. Applesupport.apple.com
  3. Appledeveloper.apple.com
  4. Appledeveloper.apple.com
  5. Appledeveloper.apple.com
  6. Appledeveloper.apple.com
  7. Applegithub.com
  8. Appledeveloper.apple.com
  9. Appledeveloper.apple.com
  10. Appledeveloper.apple.com
  11. mlx-lmgithub.com
  12. LM Studiolmstudio.ai
  13. Llama 3.1 8Bhuggingface.co
  14. Qwen3.6 35B A3Bhuggingface.co
  15. mlx-lmgithub.com

À lire ensuite