คำสั่ง fm บน macOS: LLM ในเครื่องของ Apple ใน Terminal

macOS 27 มาพร้อมเครื่องมือบรรทัดคำสั่งชื่อ fm ที่นำโมเดลภาษาของ Apple เองมาไว้ใน Terminal ทั้งพรอมต์ครั้งเดียว แชต และ JSON แบบมีโครงสร้างสำหรับสคริปต์ นี่คือสิ่งที่ Apple บอกว่ามันทำได้ สิ่งที่ Mac ของคุณต้องมี จุดที่โมเดลเล็ก ๆ บนอุปกรณ์ไปต่อไม่ได้ และสิ่งที่โมเดลแบบเปิดบน Mac เครื่องเดียวกันทำแทนได้

อัปเดต

สรุปสั้น ๆ

  • fm ติดตั้งมาพร้อม macOS 27 พิมพ์ fm ใน Terminal เพื่อดูคำสั่ง เช่น respond, chat และ schema (Apple)
  • โดยค่าเริ่มต้นจะใช้โมเดลบนอุปกรณ์ที่มากับ macOS ส่วน --model pcc จะส่งพรอมต์ไปยังโมเดลบน Private Cloud Compute ของ Apple ที่ใหญ่กว่ามาก ซึ่งมีขีดจำกัดการใช้งาน
  • โมเดลบนอุปกรณ์ต้องใช้ Mac ที่รองรับ Apple Intelligence (M1 ขึ้นไป) Apple Intelligence ใช้พื้นที่จัดเก็บสูงสุด 14 GB บน Mac ที่มี M3 ขึ้นไปและหน่วยความจำ 12 GB ขึ้นไป และสูงสุด 8 GB บนเครื่องอื่น (Apple)
  • หน้าต่างบริบทเล็ก: 4,096 โทเค็นในเอกสารของ Apple และ 8,192 ในโค้ดตัวอย่างจาก WWDC26 สำหรับเอกสารยาวหรืองานที่ยากกว่า โมเดลแบบเปิดบน GPU ของ Mac ไปได้ไกลกว่า ดู Mac ของคุณรันอะไรได้

1fm คืออะไร

fm คือเครื่องมือบรรทัดคำสั่งของ Apple สำหรับ Apple Foundation Models ซึ่งเป็นโมเดลเบื้องหลัง Apple Intelligence Apple กล่าวในเซสชัน WWDC26 ที่พูดถึงเครื่องมือนี้ว่า "Starting from macOS 27, this command line tool comes pre-installed on your Mac" แค่เปิด Terminal แล้วพิมพ์ fm (Apple) 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 ได้ ซึ่ง Apple เรียกว่า "a much bigger model than the on-device model" ที่ "will perform better on complex problems" และ "has usage limits" (Apple) โมเดลบนอุปกรณ์รันบน Mac ของคุณและทำงานได้โดยไม่ต้องต่ออินเทอร์เน็ต (Apple) ส่วนพรอมต์ที่ส่งไป Private Cloud Compute จะไปยังเซิร์ฟเวอร์ของ Apple

fm เป็นซอฟต์แวร์ของ Apple และไม่เกี่ยวข้องกับ MLX Network MLX Network เป็นโครงการอิสระและไม่ได้เกี่ยวข้องกับ Apple

2คำสั่งต่าง ๆ

นี่คือคำสั่งและตัวเลือกที่ Apple แสดงในเซสชัน 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แสดงตัวเลือกทั้งหมด
Apple บอกว่ามีคำสั่งมากกว่านี้ พิมพ์ fm อย่างเดียวก็จะเห็นรายการทั้งหมดบน Mac ของคุณ

ตัวอย่างของ Apple เองจากเซสชัน:

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
โพสต์เกี่ยวกับ macOS 27 บางโพสต์ยังพูดถึงคำสั่งอย่าง fm serve, fm available และ fm license แต่เซสชัน WWDC26 ของ Apple และเอกสาร 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 ของ Apple ตัวเลขนี้ Apple ให้ไว้สำหรับ Apple Intelligence ทั้งหมด ไม่ใช่เฉพาะโมเดลที่ fm ใช้

หลังเปิด Apple Intelligence โมเดลอาจยังใช้ไม่ได้สักพัก เฟรมเวิร์กของ Apple จะรายงานว่ายังไม่พร้อม "because it's downloading or because of other system reasons" (Apple)

สำหรับ Python SDK ซึ่งใช้โมเดลบนอุปกรณ์ตัวเดียวกัน Apple ระบุ macOS 26.0 ขึ้นไป Xcode 26.0 ขึ้นไปที่ยอมรับข้อตกลงแล้ว และ Python 3.10 ขึ้นไป (Apple) บน Mac ที่ใช้ Apple silicon (Apple)

4โมเดลบนอุปกรณ์เก่งเรื่องอะไร และไปได้แค่ไหน

Apple พูดไว้ชัดเจนว่า โมเดลบนอุปกรณ์เก่งงานสร้างข้อความหลากหลาย เช่น การสรุป การดึงข้อมูลเอนทิตี การเข้าใจข้อความและรูปภาพ การเกลาข้อความ บทสนทนาในเกม และการสร้างเนื้อหาสร้างสรรค์ เมื่อต้องการความสามารถด้านการให้เหตุผลและบริบทที่มากขึ้น ให้ใช้ Private Cloud Compute หรือผู้ให้บริการโมเดลบนเซิร์ฟเวอร์รายใดก็ได้ (Apple)

  • หน้าต่างบริบทเล็ก เอกสารของ Apple ระบุว่าโมเดลบนอุปกรณ์มี "a context window of 4096 tokens per session" (Apple) และระบุ 4K เทียบกับ 32K ของ Private Cloud Compute (Apple) ในเซสชัน WWDC26 เรื่อง macOS 27 โค้ดตัวอย่างของ Apple พิมพ์ contextSize ออกมาเป็น 8,192 (Apple) พรอมต์ คำสั่ง และคำตอบใช้หน้าต่างนี้ร่วมกัน
  • ใส่ได้แค่ไหน ในภาษาอังกฤษ หนึ่งโทเค็นมักยาวสามถึงสี่ตัวอักษร (Apple) ดังนั้น 8,192 โทเค็นจึงประมาณ 25,000 ถึง 33,000 ตัวอักษร รวมทั้งขาเข้าและขาออก คือไม่กี่หน้า ไม่ใช่ทั้งเล่มหรือทั้งโค้ดเบส
  • พรอมต์สั้นและเรียบง่าย "An on-device model has fewer parameters and a small context window" Apple จึงขอให้เขียนพรอมต์แบบ "short and succinct" และบอกว่าโมเดลบนอุปกรณ์ "have limited reasoning abilities" ให้แบ่งงานยากเป็นขั้น ๆ (Apple)
  • มันเปลี่ยนไปตาม macOS Apple อัปเดตโมเดลผ่านการอัปเดตระบบ และ macOS 27 มีเวอร์ชันใหม่ (Apple) ผลลัพธ์ของสคริปต์อาจเปลี่ยนไปหลังอัปเดต

Apple ไม่ได้ระบุขนาดของโมเดลบนอุปกรณ์ในหน้าเหล่านี้ เราจึงไม่ระบุเช่นกัน

5ใช้ fm จากสคริปต์และโค้ด

fm respond พิมพ์คำตอบออกมา จึงใส่ในเชลล์สคริปต์ใดก็ได้ เมื่อใช้ --schema คำตอบจะเป็น JSON ที่ส่งต่อให้ jq ได้ เซสชันของ Apple จัดโฟลเดอร์โปรเจกต์ด้วยวิธีนี้ คือถามโมเดลว่าไฟล์ไหนเป็นฉบับสุดท้าย ไฟล์ไหนเป็นฉบับร่าง แล้วคัดลอกและย้ายไฟล์ ตัดย่อจากตัวอย่างของ 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[]'

สำหรับ Python มี Foundation Models SDK ของ Apple ติดตั้งด้วย pip install apple_fm_sdk ใช้โมเดลบนอุปกรณ์ตัวเดียวกัน พร้อมการสร้างแบบมีแนวทางและการเรียกใช้เครื่องมือ (Apple) ตัวอย่างของ 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 ของเราให้ GPU ราว 75% โดยค่าเริ่มต้น และเผื่อที่ไว้สำหรับบริบท

หน่วยความจำของ Macสำหรับ GPUรันได้ดี ตัวอย่างเช่นหน่วยความจำที่ต้องใช้
8 GBราว 6 GBLlama 3.1 8B แบบ 4 บิต4.5 GB, 6.0 GB เมื่อรวมบริบท
16 GBราว 12 GBLlama 3.1 8B แบบ 8 บิต, Qwen3.5 9B แบบ 6 บิต8.5 GB และ 7.3 GB, 10.0 และ 8.8 GB เมื่อรวมบริบท
24 GBราว 18 GBgpt-oss-20b แบบเนทีฟ 4.25 บิต13.8 GB, 15.3 GB เมื่อรวมบริบท
32 GBราว 24 GBQwen3.6 35B A3B แบบ 4 บิต19.7 GB, 21.3 GB เมื่อรวมบริบท
การคำนวณของเราจากการ์ดโมเดลอย่างเป็นทางการ MLX เก็บ (บิต + 0.5) ต่อหนึ่งน้ำหนัก บวก 8% หรือ 1.5 GB สำหรับบริบท ทุกอย่างที่แต่ละขนาดรันได้ พร้อมช่วงความเร็ว: 8 GB, 16 GB, 24 GB, 32 GB

การ์ดของโมเดลเหล่านี้ระบุหน้าต่างบริบทที่ยาวกว่ามาก คือ 128K โทเค็นสำหรับ Llama 3.1 8B และ 262,144 สำหรับ Qwen3.6 35B A3B แต่บริบทยาวต้องใช้หน่วยความจำมากกว่าที่เผื่อไว้ข้างต้น ไม่แน่ใจว่า Mac ของคุณมีเท่าไร? ไปที่เมนู Apple เกี่ยวกับ Mac เครื่องนี้ แล้วดู Mac แยกตามชิป

mlx-lm เป็นวิธีหนึ่งในการรันโมเดลเหล่านี้ เครื่องมือ MLX ของ Apple เองดาวน์โหลดโมเดล MLX จาก Hugging Face แชตกับโมเดลใน Terminal และให้บริการ API ในเครื่องตามที่กล่าวข้างต้น LM Studio และ Ollama ทำแบบเดียวกันในรูปแอป (แอปที่ดีที่สุดสำหรับรัน LLM บน Mac) ตอนที่คุณไม่ได้ใช้ Mac MLX Node สามารถรันงาน AI ให้ MLX Network ภายในขีดจำกัดที่คุณตั้งไว้ และได้รับโทเค็น MLX สำหรับงานที่ผ่านการตรวจสอบ โทเค็น MLX อาจสูญเสียมูลค่าได้ อ่านความเสี่ยง

7คำถาม

คำสั่ง fm บน macOS ใช้ฟรีไหม?
มันติดตั้งมาพร้อม macOS 27 และโดยค่าเริ่มต้นใช้โมเดลบนอุปกรณ์ที่มากับ macOS ส่วนโมเดล Private Cloud Compute ที่ใหญ่กว่ามีขีดจำกัดการใช้งาน (Apple)
fm ใช้แบบออฟไลน์ได้ไหม?
ได้ เมื่อใช้โมเดลบนอุปกรณ์ Apple บอกว่ามันทำงานได้โดยไม่ต้องต่ออินเทอร์เน็ต (Apple) แต่ต้องดาวน์โหลด Apple Intelligence ก่อน และ --model pcc หรือ /model ใน fm chat จะใช้เซิร์ฟเวอร์ของ Apple
fm รับพรอมต์ได้ยาวแค่ไหน?
พรอมต์ คำสั่ง และคำตอบใช้หน้าต่างบริบทเดียวกัน คือ 4,096 โทเค็นในเอกสารของ Apple และ 8,192 ในตัวอย่าง WWDC26 ของ Apple สำหรับ macOS 27 (Apple) ในภาษาอังกฤษ หนึ่งโทเค็นประมาณสามถึงสี่ตัวอักษร
fm มี API ที่เข้ากันได้กับ OpenAI ไหม?
เซสชัน WWDC26 ของ Apple และเอกสาร 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)

แหล่งที่มา

  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

อ่านต่อ