بهطور خلاصه
- fm از پیش روی macOS 27 نصب است. در Terminal بنویسید
fmتا دستورهایش را ببینید، مثلrespond،chatوschema(Apple). - بهطور پیشفرض از مدل روی دستگاه که همراه macOS است استفاده میکند.
--model pccدرخواست را به مدل بسیار بزرگتر Private Cloud Compute اپل میفرستد که محدودیت استفاده دارد. - مدل روی دستگاه به Macی نیاز دارد که از Apple Intelligence پشتیبانی کند (M1 یا جدیدتر). Apple Intelligence روی Macهای دارای M3 یا جدیدتر با 12 GB حافظه یا بیشتر تا 14 GB و روی بقیه تا 8 GB فضای ذخیرهسازی میگیرد (Apple).
- پنجرهٔ زمینهاش کوچک است: 4,096 توکن در مستندات اپل و 8,192 در یک نمونهکد WWDC26. برای اسناد طولانی یا کارهای سختتر، یک مدل باز روی GPU دستگاه Mac شما جلوتر میرود: ببینید Mac شما چه چیزهایی را اجرا میکند.
1fm چیست
fm ابزار خط فرمان اپل برای Apple Foundation Models است، مدلهایی که پشت Apple Intelligence هستند. اپل در جلسهٔ WWDC26 دربارهٔ آن میگوید: «Starting from macOS 27, this command line tool comes pre-installed on your Mac»؛ Terminal را باز میکنید و fm را مینویسید (Apple). اپل آن را برای اسکریپتنویسی و خودکارسازی «without writing a line of app code» معرفی میکند (Apple).
میتواند با دو مدل کار کند. بهطور پیشفرض از «the on-device model that comes with macOS, and that's always available» استفاده میکند. همچنین میتواند از Apple Foundation Model روی Private Cloud Compute استفاده کند که اپل آن را «a much bigger model than the on-device model» مینامد، مدلی که «will perform better on complex problems» و «has usage limits» (Apple). مدل روی دستگاه روی Mac شما اجرا میشود و بدون اتصال به اینترنت کار میکند (Apple)؛ اما درخواستی که به Private Cloud Compute فرستاده شود به سرورهای اپل میرود.
fm نرمافزار اپل است و ربطی به MLX Network ندارد. MLX Network مستقل است و با اپل وابستگی ندارد.
2دستورها
اینها دستورها و گزینههایی هستند که اپل در جلسههای WWDC26 نشان میدهد (Apple، Apple):
| دستور یا گزینه | چه میکند |
|---|---|
fm | فهرست دستورهای موجود را نشان میدهد. |
fm respond "…" | درخواستی به مدل میفرستد و پاسخش را چاپ میکند، برای اسکریپتها و پرسشهای تکی. |
fm chat | گفتگویی تعاملی در Terminal. در آن، /model به مدل Private Cloud Compute میرود و /save گفتگو را ذخیره میکند تا بعداً ادامه دهید. |
fm schema object | یک schema میسازد تا fm respond خروجی JSON ساختاریافته برگرداند. |
--model pcc | درخواست را بهجای مدل روی دستگاه به مدل Private Cloud Compute میفرستد. |
--image | یک تصویر به درخواست اضافه میکند. |
--schema | پاسخ را وادار میکند از schemaای پیروی کند که با fm schema object ساخته شده است. |
--instructions | دستورالعملهایی جدا از درخواست به مدل میدهد. |
--help | همهٔ گزینهها را نشان میدهد. |
fm همه را روی Mac شما فهرست میکند.نمونههای خود اپل از این جلسه:
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 --helpfm serve، fm available و fm license را هم شرح میدهند. جلسههای WWDC26 اپل و مستندات Foundation Models که خواندیم آنها را شرح نمیدهند، پس این راهنما هم شرح نمیدهد. fm را روی Mac خود اجرا کنید تا ببینید نسخهٔ شما چه دارد.3آنچه لازم دارید و چقدر دانلود میکند
- macOS 27. fm همراه آن است (Apple).
- Macی که از Apple Intelligence پشتیبانی کند. Apple Foundation Models به آن نیاز دارند (Apple)؛ روی macOS 27 یعنی هر Mac با M1 یا جدیدتر (Apple).
- یک زبان پشتیبانیشده. Apple Intelligence لازم دارد زبان دستگاه و زبان Siri روی یک زبان پشتیبانیشدهٔ یکسان باشند و فعلاً روی دستگاههایی که در سرزمین اصلی چین خریده شدهاند کار نمیکند (Apple).
- فضای خالی دیسک برای Apple Intelligence، در زیر.
| Mac | فضای Apple Intelligence در macOS 27 |
|---|---|
| M3 یا جدیدتر با دستکم 12 GB حافظهٔ یکپارچه | تا 14 GB |
| دیگر Macهای دارای Apple Intelligence (M1، M2 یا حافظهٔ کمتر از 12 GB) | تا 8 GB |
مدل ممکن است پس از روشن کردن Apple Intelligence مدتی در دسترس نباشد: چارچوب اپل گزارش میدهد که آماده نیست «because it's downloading or because of other system reasons» (Apple).
برای Python SDK که از همان مدل روی دستگاه استفاده میکند، اپل macOS 26.0 یا جدیدتر، Xcode 26.0 یا جدیدتر با پذیرش توافقنامهاش و Python 3.10 یا جدیدتر را ذکر میکند (Apple)، روی یک Mac با Apple silicon (Apple).
4مدل روی دستگاه در چه کاری خوب است و کجا متوقف میشود
اپل صریح است: مدلهای روی دستگاه در طیف گستردهای از کارهای تولید متن عالیاند، مثل خلاصهسازی، استخراج موجودیتها، درک متن و تصویر، اصلاح نوشته، گفتوگو برای بازیها و تولید محتوای خلاقانه؛ وقتی به توان استدلال بیشتر و زمینهٔ بزرگتر نیاز دارید، از Private Cloud Compute یا هر ارائهدهندهٔ مدل سروری استفاده کنید (Apple).
- پنجرهٔ زمینهٔ کوچک. مستندات اپل به مدل روی دستگاه «a context window of 4096 tokens per session» میدهد (Apple) و 4K را در برابر 32K برای Private Cloud Compute فهرست میکند (Apple). در جلسهٔ WWDC26 دربارهٔ macOS 27، نمونهکد اپل مقدار
contextSizeرا 8,192 چاپ میکند (Apple). درخواست، دستورالعملها و پاسخ همه در این پنجره شریکاند. - چقدر جا میگیرد. در انگلیسی هر توکن معمولاً سه تا چهار نویسه است (Apple)، پس 8,192 توکن تقریباً 25,000 تا 33,000 نویسهٔ ورودی و خروجی روی هم است: چند صفحه، نه یک کتاب یا یک پایگاه کد.
- درخواستهای کوتاه و ساده. «An on-device model has fewer parameters and a small context window»، پس اپل درخواستهایی «short and succinct» میخواهد و میگوید مدلهای روی دستگاه «have limited reasoning abilities»: کار سخت را به چند مرحله بشکنید (Apple).
- با macOS تغییر میکند. اپل مدل را با بهروزرسانیهای سیستم بهروز میکند؛ macOS 27 نسخهٔ تازهای دارد (Apple). نتیجهٔ یک اسکریپت ممکن است پس از بهروزرسانی تغییر کند.
اپل در این صفحهها اندازهٔ مدل روی دستگاه را نمیگوید، پس ما هم نمیگوییم.
5استفاده از fm در اسکریپتها و کد
fm respond پاسخ را چاپ میکند، پس در هر اسکریپت shell جا میگیرد. با --schema پاسخ JSON است که میتوانید به jq بدهید. جلسهٔ اپل یک پوشهٔ پروژه را اینطور مرتب میکند: از مدل میپرسد کدام فایلها نهاییاند و کدام پیشنویس، سپس آنها را کپی و جابهجا میکند. خلاصهشده از نمونهٔ اپل (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[]'برای Python، SDK مدلهای پایهٔ اپل هست، pip install apple_fm_sdk، با همان مدل روی دستگاه، تولید هدایتشده و فراخوانی ابزار (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)بسیاری از اپها و عاملهای برنامهنویسی در عوض یک API به سبک OpenAI یا Anthropic روی یک درگاه محلی میخواهند. اگر همین را لازم دارید، mlx_lm.server مدل بازی را که خودتان انتخاب میکنید با یک API به سبک OpenAI در localhost:8080 ارائه میدهد (mlx-lm)، و سرور محلی LM Studio قالبهای OpenAI و Anthropic را پشتیبانی میکند (LM Studio). گزینههای بیشتر: بهترین اپها برای اجرای LLM روی Mac.
6کی سراغ یک مدل باز برویم
برای کارهای کوتاه با fm بمانید: خلاصه کردن یک یادداشت، نامگذاری یک فایل، بیرون کشیدن فیلدها از متن، یک پرسش سریع. از قبل روی Mac هست و راهاندازی نمیخواهد. وقتی ورودی در چند هزار توکن جا نمیشود، وقتی کار استدلال یا کد بیشتری میخواهد، وقتی میخواهید خودتان مدل را انتخاب کنید یا وقتی ابزاری به API نیاز دارد، سراغ یک مدل باز بروید.
مدل باز روی GPU دستگاه Mac شما اجرا میشود و آنچه جا میگیرد را حافظهٔ یکپارچه تعیین میکند. محاسبهٔ ما در Compare بهطور پیشفرض حدود 75% آن را به GPU میدهد و برای زمینه جا میگذارد:
| حافظهٔ Mac | برای GPU | بهخوبی اجرا میشود، مثلاً | حافظهٔ لازم |
|---|---|---|---|
| 8 GB | حدود 6 GB | Llama 3.1 8B با 4 بیت | 4.5 GB، با زمینه 6.0 GB |
| 16 GB | حدود 12 GB | Llama 3.1 8B با 8 بیت، Qwen3.5 9B با 6 بیت | 8.5 GB و 7.3 GB، با زمینه 10.0 و 8.8 GB |
| 24 GB | حدود 18 GB | gpt-oss-20b، بومی 4.25 بیت | 13.8 GB، با زمینه 15.3 GB |
| 32 GB | حدود 24 GB | Qwen3.6 35B A3B با 4 بیت | 19.7 GB، با زمینه 21.3 GB |
کارت این مدلها پنجرههای زمینهٔ بسیار بلندتری را فهرست میکند، 128K توکن برای Llama 3.1 8B و 262,144 برای Qwen3.6 35B A3B، هرچند زمینهٔ بلند به حافظهای فراتر از جای محاسبهشده در بالا نیاز دارد. مطمئن نیستید Mac شما چه دارد؟ منوی Apple، «دربارهٔ این Mac»، سپس Macها بر اساس تراشه را ببینید.
mlx-lm یکی از راههای اجرای آنهاست: ابزارهای MLX خود اپل مدلهای MLX را از Hugging Face دانلود میکنند، در Terminal با آنها گفتگو میکنند و API محلی بالا را ارائه میدهند. LM Studio و Ollama همین کار را در قالب یک اپ انجام میدهند (بهترین اپها برای اجرای LLM روی Mac). وقتی از Mac استفاده نمیکنید، MLX Node میتواند در محدودههایی که خودتان تعیین میکنید کارهای هوش مصنوعی را برای MLX Network اجرا کند و برای کار تأییدشده توکن MLX کسب کند. توکنهای MLX ممکن است ارزش خود را از دست بدهند؛ ریسکها را بخوانید.
7پرسشها
- آیا دستور fm در macOS رایگان است؟
- از پیش روی macOS 27 نصب است و بهطور پیشفرض از مدل روی دستگاه که همراه macOS است استفاده میکند. مدل بزرگتر Private Cloud Compute محدودیت استفاده دارد (Apple).
- آیا fm آفلاین کار میکند؟
- با مدل روی دستگاه، بله: اپل میگوید بدون اتصال به اینترنت کار میکند (Apple). ابتدا باید Apple Intelligence دانلود شود، و
--model pccیا/modelدرfm chatاز سرورهای اپل استفاده میکنند. - fm چه طولی از درخواست را میپذیرد؟
- درخواست، دستورالعملها و پاسخ در یک پنجرهٔ زمینه شریکاند: 4,096 توکن در مستندات اپل و 8,192 در نمونهٔ WWDC26 اپل برای macOS 27 (Apple). در انگلیسی این تقریباً سه تا چهار نویسه برای هر توکن است.
- آیا fm یک API سازگار با OpenAI ارائه میدهد؟
- جلسههای WWDC26 اپل و مستندات Foundation Models که خواندیم حالت سرور را شرح نمیدهند، پس نمیتوانیم تأیید کنیم چگونه کار میکند. برای یک API محلی مستند،
mlx_lm.serverمدلهای باز را در localhost:8080 به سبک OpenAI ارائه میدهد، و LM Studio با قالبهای OpenAI و Anthropic. - کدام Macها میتوانند از fm استفاده کنند؟
- Macهای دارای macOS 27 که از Apple Intelligence پشتیبانی میکنند: هر Mac با M1 یا جدیدتر، تنظیمشده روی یک زبان پشتیبانیشده، با فضای خالی تا 14 GB (M3 یا جدیدتر با 12 GB یا بیشتر) یا تا 8 GB (Apple).
منابع
- Appledeveloper.apple.com
- Applesupport.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Applegithub.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- Appledeveloper.apple.com
- mlx-lmgithub.com
- LM Studiolmstudio.ai
- Llama 3.1 8Bhuggingface.co
- Qwen3.6 35B A3Bhuggingface.co
- mlx-lmgithub.com