El comando fm de macOS: el LLM local de Apple en Terminal.

macOS 27 trae una herramienta de línea de comandos llamada fm que pone el propio modelo de lenguaje de Apple en Terminal: preguntas sueltas, un chat y JSON estructurado para scripts. Aquí está lo que Apple dice que hace, lo que necesita tu Mac, dónde se queda corto el pequeño modelo en el dispositivo y qué puede hacer en su lugar un modelo abierto en la misma Mac.

Actualizado

En resumen

  • fm viene preinstalado con macOS 27. Escribe fm en Terminal para ver sus comandos, como respond, chat y schema (Apple).
  • Por defecto usa el modelo en el dispositivo que viene con macOS. --model pcc envía el prompt al modelo de Private Cloud Compute de Apple, mucho más grande, que tiene límites de uso.
  • El modelo en el dispositivo necesita una Mac compatible con Apple Intelligence (M1 o posterior). Apple Intelligence ocupa hasta 14 GB de almacenamiento en las Mac con M3 o posterior y 12 GB de memoria o más, y hasta 8 GB en las demás (Apple).
  • Su ventana de contexto es pequeña: 4096 tokens en la documentación de Apple y 8192 en un ejemplo de código de la WWDC26. Para documentos largos o tareas más difíciles, un modelo abierto en la GPU de tu Mac llega más lejos: mira qué puede ejecutar tu Mac.

1Qué es fm

fm es la herramienta de línea de comandos de Apple para Apple Foundation Models, los modelos detrás de Apple Intelligence. "Starting from macOS 27, this command line tool comes pre-installed on your Mac", dice Apple en su sesión de la WWDC26 sobre ella; abres Terminal y escribes fm (Apple). Apple la presenta para scripts y automatización "without writing a line of app code" (Apple).

Puede hablar con dos modelos. Por defecto usa "the on-device model that comes with macOS, and that's always available". También puede usar el Apple Foundation Model en Private Cloud Compute, que Apple llama "a much bigger model than the on-device model", que "will perform better on complex problems" y que "has usage limits" (Apple). El modelo en el dispositivo corre en tu Mac y funciona sin conexión a internet (Apple); un prompt enviado a Private Cloud Compute va a los servidores de Apple.

fm es software de Apple y no tiene nada que ver con MLX Network. MLX Network es independiente y no está afiliada a Apple.

2Los comandos

Estos son los comandos y opciones que Apple muestra en sus sesiones de la WWDC26 (Apple, Apple):

Comando u opciónQué hace
fmMuestra los comandos disponibles.
fm respond "…"Envía un prompt al modelo e imprime su respuesta, para scripts y preguntas sueltas.
fm chatUna conversación interactiva en Terminal. Dentro, /model cambia al modelo de Private Cloud Compute y /save guarda la conversación para retomarla después.
fm schema objectCrea un esquema para que fm respond devuelva JSON estructurado.
--model pccEnvía el prompt al modelo de Private Cloud Compute en vez del modelo en el dispositivo.
--imageAñade una imagen al prompt.
--schemaHace que la respuesta siga un esquema creado con fm schema object.
--instructionsDa al modelo instrucciones separadas del prompt.
--helpMuestra todas las opciones.
Apple dice que hay más comandos que estos; fm a secas los muestra en tu Mac.

Los ejemplos de Apple, de la sesión:

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
Algunas publicaciones sobre macOS 27 también describen comandos como fm serve, fm available y fm license. Las sesiones de Apple en la WWDC26 y la documentación de Foundation Models que leímos no los describen, así que esta guía tampoco. Ejecuta fm en tu Mac para ver qué tiene tu versión.

3Qué necesitas y cuánto descarga

  • macOS 27. fm viene con él (Apple).
  • Una Mac compatible con Apple Intelligence. Apple Foundation Models la necesitan (Apple); en macOS 27 es cualquier Mac con M1 o posterior (Apple).
  • Un idioma compatible. Apple Intelligence necesita que el idioma del dispositivo y el de Siri sean el mismo idioma compatible, y por ahora no funciona en dispositivos comprados en China continental (Apple).
  • Espacio libre en disco para Apple Intelligence, abajo.
MacAlmacenamiento de Apple Intelligence en macOS 27
M3 o posterior con al menos 12 GB de memoria unificadaHasta 14 GB
Otras Mac con Apple Intelligence (M1, M2 o menos de 12 GB de memoria)Hasta 8 GB
Según los requisitos de Apple Intelligence de Apple. Apple da estas cifras para Apple Intelligence en conjunto, no solo para el modelo que usa fm.

El modelo puede no estar disponible durante un rato después de activar Apple Intelligence: el framework de Apple indica que no está listo "because it's downloading or because of other system reasons" (Apple).

Para el SDK de Python, que usa el mismo modelo en el dispositivo, Apple pide macOS 26.0 o posterior, Xcode 26.0 o posterior con su acuerdo aceptado y Python 3.10 o posterior (Apple), en una Mac con Apple silicon (Apple).

4En qué es bueno el modelo en el dispositivo y dónde se queda corto

Apple lo dice claro: los modelos en el dispositivo destacan en muchas tareas de generación de texto, como resumir, extraer entidades, entender texto e imágenes, pulir textos, diálogos para juegos o generar contenido creativo; cuando necesitas más capacidad de razonamiento y más contexto, usa Private Cloud Compute o cualquier proveedor de modelos en servidor (Apple).

  • Una ventana de contexto pequeña. La documentación de Apple da al modelo en el dispositivo "a context window of 4096 tokens per session" (Apple) y pone 4K frente a 32K para Private Cloud Compute (Apple). En su sesión de la WWDC26 sobre macOS 27, el ejemplo de código de Apple imprime un contextSize de 8192 (Apple). El prompt, las instrucciones y la respuesta comparten esa ventana.
  • Cuánto cabe. En inglés un token suele tener de tres a cuatro caracteres (Apple), así que 8192 tokens son más o menos de 25 000 a 33 000 caracteres de entrada y salida juntas: unas pocas páginas, no un libro ni un repositorio de código.
  • Prompts cortos y sencillos. "An on-device model has fewer parameters and a small context window", así que Apple pide prompts "short and succinct" y dice que los modelos en el dispositivo "have limited reasoning abilities": divide una tarea difícil en pasos (Apple).
  • Cambia con macOS. Apple actualiza el modelo con las actualizaciones del sistema; macOS 27 trae una versión nueva (Apple). Los resultados de un script pueden cambiar después de una actualización.

Apple no da el tamaño del modelo en el dispositivo en estas páginas, así que nosotros tampoco.

5Usar fm desde scripts y código

fm respond imprime la respuesta, así que encaja en cualquier script de shell. Con --schema la respuesta es JSON que puedes pasar a jq. La sesión de Apple ordena así la carpeta de un proyecto: pregunta al modelo qué archivos son finales y cuáles son borradores, y luego los copia y mueve. Versión abreviada del ejemplo de 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[]'

Para Python está el Foundation Models SDK de Apple, pip install apple_fm_sdk, con el mismo modelo en el dispositivo, generación guiada y llamadas a herramientas (Apple). El ejemplo de 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)

Muchas apps y agentes de programación esperan en cambio una API de estilo OpenAI o Anthropic en un puerto local. Si es lo que necesitas, mlx_lm.server sirve el modelo abierto que elijas con una API de estilo OpenAI en localhost:8080 (mlx-lm), y el servidor local de LM Studio habla los formatos de OpenAI y Anthropic (LM Studio). Más opciones: las mejores apps para ejecutar LLM en una Mac.

6Cuándo pasarte a un modelo abierto

Quédate con fm para trabajos cortos: resumir una nota, ponerle nombre a un archivo, sacar campos de un texto, una pregunta rápida. Ya está en la Mac y no necesita configuración. Recurre a un modelo abierto cuando la entrada no quepa en unos pocos miles de tokens, cuando la tarea pida más razonamiento o código, cuando quieras elegir el modelo o cuando una herramienta necesite una API.

Un modelo abierto corre en la GPU de tu Mac, y lo que cabe depende de la memoria unificada. Nuestro cálculo de Compare da a la GPU alrededor del 75 % por defecto y deja espacio para el contexto:

Memoria de la MacPara la GPUFunciona bien, por ejemploMemoria que necesita
8 GBunos 6 GBLlama 3.1 8B a 4 bits4,5 GB; 6,0 GB con contexto
16 GBunos 12 GBLlama 3.1 8B a 8 bits, Qwen3.5 9B a 6 bits8,5 GB y 7,3 GB; 10,0 y 8,8 GB con contexto
24 GBunos 18 GBgpt-oss-20b, 4,25 bits nativos13,8 GB; 15,3 GB con contexto
32 GBunos 24 GBQwen3.6 35B A3B a 4 bits19,7 GB; 21,3 GB con contexto
Nuestro cálculo sobre las fichas oficiales de los modelos: MLX guarda (bits + 0,5) por peso, más un 8 % o 1,5 GB para el contexto. Todo lo que ejecuta cada tamaño, con rangos de velocidad: 8 GB, 16 GB, 24 GB, 32 GB.

Estos modelos indican ventanas de contexto mucho más largas en sus fichas, 128K tokens para Llama 3.1 8B y 262 144 para Qwen3.6 35B A3B, aunque un contexto largo necesita memoria además del espacio contado arriba. ¿No sabes qué tiene tu Mac? Menú Apple, Acerca de esta Mac, y luego mira las Mac por chip.

mlx-lm es una forma de ejecutarlos: las herramientas MLX de la propia Apple descargan modelos MLX de Hugging Face, chatean con ellos en Terminal y sirven la API local de arriba. LM Studio y Ollama hacen lo mismo en una app (las mejores apps para ejecutar LLM en una Mac). Cuando no usas la Mac, MLX Node puede ejecutar trabajos de IA para MLX Network dentro de los límites que fijes y gana tokens MLX por el trabajo verificado. Los tokens MLX pueden perder valor; lee los riesgos.

7Preguntas

¿El comando fm de macOS es gratis?
Viene preinstalado con macOS 27 y por defecto usa el modelo en el dispositivo que trae macOS. El modelo más grande de Private Cloud Compute tiene límites de uso (Apple).
¿fm funciona sin conexión?
Con el modelo en el dispositivo, sí: Apple dice que funciona sin conexión a internet (Apple). Primero hay que descargar Apple Intelligence, y --model pcc o /model en fm chat usan los servidores de Apple.
¿Qué tan largo puede ser un prompt en fm?
El prompt, las instrucciones y la respuesta comparten una ventana de contexto: 4096 tokens en la documentación de Apple y 8192 en el ejemplo de Apple de la WWDC26 para macOS 27 (Apple). En inglés son más o menos de tres a cuatro caracteres por token.
¿fm ofrece una API compatible con OpenAI?
Las sesiones de Apple en la WWDC26 y la documentación de Foundation Models que leímos no describen un modo servidor, así que no podemos confirmar cómo funciona. Para una API local documentada, mlx_lm.server sirve modelos abiertos en localhost:8080 con estilo OpenAI, y LM Studio en formatos OpenAI y Anthropic.
¿Qué Macs pueden usar fm?
Las Mac con macOS 27 compatibles con Apple Intelligence: cualquier Mac con M1 o posterior, configurada en un idioma compatible, con hasta 14 GB (M3 o posterior con 12 GB o más) o hasta 8 GB de almacenamiento libre (Apple).

Fuentes

  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

Sigue leyendo