33 คะแนน โดย GN⁺ 26 일 전 | 5 ความคิดเห็น | แชร์ทาง WhatsApp
  • โอเพนซอร์สที่ทำให้สามารถใช้งาน Apple on-device LLM ที่มาพร้อมกับ Mac Apple Silicon บน macOS 26 ขึ้นไปได้โดยตรง
  • เปิดโมเดลที่สร้างบน FoundationModels.framework ในรูปแบบ CLI, HTTP server, แชตแบบโต้ตอบ และ เข้ากันได้กับ OpenAI API
  • การประมวลผลทั้งหมดเกิดขึ้น บนเครื่องภายในทั้งหมด ทำให้ ไม่มีค่าใช้จ่าย, ไม่มีความเสี่ยงข้อมูลรั่วไหล พร้อม คอนเท็กซ์ 4096 โทเค็น และ รองรับหลายภาษา
  • รองรับเครื่องมือเสริมหลากหลายอย่าง cmd, oneliner, explain, gitsum สำหรับสรุปโค้ด·คำสั่งและงานอัตโนมัติ
  • เป็นการ เปิด Apple Intelligence model ที่มีอยู่แล้วใน macOS อย่างเต็มรูปแบบ ทำให้นักพัฒนาสามารถ รัน AI บนฮาร์ดแวร์ของตัวเองได้อย่างอิสระ

ภาพรวมของ apfel

  • apfel คือเครื่องมือที่ทำให้สามารถใช้งาน Apple on-device LLM ที่ฝังมาใน Mac Apple Silicon ที่ใช้ macOS 26 (Tahoe) ขึ้นไปได้โดยตรง
  • เปิดโมเดลภาษาที่สร้างบน FoundationModels.framework ซึ่ง Apple เดิมจำกัดการใช้งานไว้กับ Siri และฟีเจอร์ระบบ ให้อยู่ในรูปแบบ CLI, HTTP server, แชตแบบโต้ตอบ
  • ทำงานแบบ on-device 100%, ไม่มีค่าใช้จ่าย, และ เข้ากันได้กับ OpenAI API
  • ติดตั้งได้ผ่าน Homebrew และเผยแพร่เป็นโอเพนซอร์สภายใต้สัญญาอนุญาต MIT

คุณสมบัติหลัก

  • การใช้งาน AI บนเครื่อง: ใช้ LLM ที่มีอยู่ใน macOS ได้ตรง ๆ โดยไม่ต้องเรียกเครือข่ายหรือใช้ API key
  • ความปลอดภัย: ทุกโทเค็นถูกประมวลผลในเครื่อง จึงไม่มีการส่งข้อมูลออกไปภายนอก
  • สเปกประสิทธิภาพ

    • ประมาณ 3 พันล้านพารามิเตอร์
    • หน้าต่างคอนเท็กซ์ 4096 โทเค็น
    • quantization แบบความแม่นยำผสม 2/4 บิต

      • รันบนพื้นฐาน Neural Engine
      • รองรับ อังกฤษ, เยอรมัน, สเปน, ฝรั่งเศส, อิตาลี, ญี่ปุ่น, เกาหลี, โปรตุเกส, จีน

วิธีใช้งาน

  • เครื่องมือ CLI

    • เป็นเครื่องมือบรรทัดคำสั่งสไตล์ UNIX รองรับ stdin/stdout, JSON output, การแนบไฟล์, exit code มาตรฐาน
    • ใช้งานร่วมกับ jq, xargs, shell script ได้
    • ตัวอย่าง:
      $ apfel "What is the capital of Austria?"  
      The capital of Austria is Vienna.  
      
  • เซิร์ฟเวอร์ที่เข้ากันได้กับ OpenAI

    • ทำงานเป็น เซิร์ฟเวอร์แทน OpenAI API บน localhost:11434
    • รองรับ Streaming(SSE), Tool Calling, CORS, response_format: json_object เป็นต้น
    • สามารถใช้โค้ดเดิมได้เหมือนเดิม เพียงเปลี่ยน base_url ของ OpenAI SDK
    • ตัวอย่าง:
      client = OpenAI(base_url="http://localhost:11434/v1";, api_key="unused")  
      
  • แชตแบบโต้ตอบ

    • รองรับ บทสนทนาหลายรอบ, การจัดการคอนเท็กซ์อัตโนมัติ, system prompt, กลยุทธ์ trimming 5 แบบ
    • ตัวอย่าง:
      $ apfel --chat -s "You are a coding assistant"  
      > How do I reverse a list in Python?  
      

โครงสร้างภายใน

  • เข้าถึง Apple LLM ที่ฝังมาในระบบ โดยตรงผ่าน FoundationModels.framework
  • โมเดลที่ Apple เดิมใช้เฉพาะใน Siri, Writing Tools ฯลฯ ถูก apfel ห่อด้วย Swift 6.3 binary ผ่าน LanguageModelSession เพื่อให้มี อินเทอร์เฟซเข้าถึงโดยตรง
  • มี HTTP server ที่สร้างบน Hummingbird ในตัว
  • เพื่อชดเชย ข้อจำกัด 4096 โทเค็น จึงมี กลยุทธ์ trimming คอนเท็กซ์ 5 แบบ และความสามารถ นับโทเค็นอย่างแม่นยำ
  • แปลง OpenAI Tool Schema ไปเป็นรูปแบบ Apple Transcript.ToolDefinition

เครื่องมือเสริมที่รวมมาให้

  • cmd

    • แปลงภาษาธรรมชาติเป็นคำสั่ง shell
    • ตัวอย่าง: "find all .log files modified today" → แสดงผลเป็นคำสั่งจริง
  • oneliner

    • สร้าง pipeline ของ awk, sed, sort, uniq เป็นต้นจากภาษาธรรมชาติ
  • mac-narrator

    • อธิบายกิจกรรมของระบบ Mac ในรูปแบบการบรรยาย
  • explain

    • อธิบายคำสั่งหรือชิ้นส่วนโค้ดเป็นภาษาปกติ
  • wtd

    • สรุปและอธิบายโค้ดเบส ของไดเรกทอรีปัจจุบัน
  • gitsum

    • สร้าง สรุป git commit ล่าสุด

ความเข้ากันได้กับ OpenAI API แบบเต็มรูปแบบ

  • รองรับ endpoint หลักอย่าง /v1/chat/completions, /v1/models เป็นต้น
  • ใช้งานพารามิเตอร์อย่าง temperature, max_tokens, seed ได้
  • รองรับ CORS สำหรับ browser client
  • เชื่อมต่อกับ OpenAI SDK, LangChain, LlamaIndex ฯลฯ ได้ในรูปแบบเดียวกัน

ความนิยมบน GitHub และการแจกจ่าย

  • มีสถิติ 1,030 ดาว, 27 ฟอร์ก
  • เพิ่มขึ้น 818 ดาว ในวันเดียวเมื่อวันที่ 3 เมษายน 2026
  • วิศวกรจาก Apple, Google, VMware, NVIDIA, Grafana กดดาวให้
  • คำสั่งติดตั้ง:
    $ brew install Arthur-Ficial/tap/apfel  
    $ apfel "Hello, Mac!"  
    
  • หาก build จากซอร์ส ต้องใช้ macOS 26.4 SDK

โปรเจกต์ส่วนขยาย

  • apfel-gui

    • macOS GUI บนพื้นฐาน SwiftUI

      • รองรับการแชตกับ Apple Intelligence, บันทึกคำขอ/คำตอบ, ฟังก์ชันรับเข้า/ส่งออกด้วยเสียง
      • เตรียมเปิดตัว
  • apfel-clip

    • เครื่องมือ AI action ที่อิงกับคลิปบอร์ด

      • รันฟังก์ชันอย่างแก้ไวยากรณ์, แปลภาษา, อธิบายโค้ด, สรุปความ ได้แบบคลิกเดียวจากเมนูบาร์
      • อยู่ระหว่างพัฒนา

สรุปเทคนิค

  • ฮาร์ดแวร์: Apple Silicon (Neural Engine + GPU)
  • โมเดล: Apple LLM ที่ฝังอยู่ใน macOS
  • SDK: FoundationModels.framework
  • ภาษา: Swift 6.3, ไม่ต้องใช้ Xcode
  • สัญญาอนุญาต: MIT
  • หน้าต่างโทเค็น: 4096 (รวมอินพุต+เอาต์พุต)
  • จำนวนโมเดล: คงที่ 1 โมเดล

คุณค่าหลัก

  • เปิด Apple Intelligence model ที่มีอยู่แล้วใน macOS อย่างเต็มรูปแบบ
  • มอบ สภาพแวดล้อม AI แบบโลคัลที่ไม่มีค่าใช้จ่าย เพื่อให้นักพัฒนาและผู้ใช้ รัน AI บนฮาร์ดแวร์ของตนเองได้โดยตรง
  • เป็น อินเทอร์เฟซ AI โอเพนซอร์สสำหรับ Mac โดยเฉพาะ ที่ได้ทั้ง ความปลอดภัย ความเร็ว และความเป็นอิสระ

5 ความคิดเห็น

 
xguru 26 일 전

ดูน่าสนุกดี แต่แปลกตรงที่รองรับภาษาเกาหลีได้ไม่ค่อยดีครับ
ผมกำลังดึงซอร์สโค้ดมาลองแกะดูร่วมกับ Codex อยู่ แต่ดูเหมือนว่าตัวการตอบสนองของ Foundation Model เองจะมีปัญหาฝั่งภาษาเกาหลีอยู่ครับ
เดี๋ยวจะลองต่ออีกหน่อย ถ้าใครทำสำเร็จแล้วรบกวนบอกกันในคอมเมนต์ด้วยนะครับ 555

 
xguru 26 일 전

apfel "ช่วยบอกสูตร Currywurst หน่อย"
error: [guardrail] The request was blocked by Apple's safety guardrails. Try rephrasing.

ตอนแรกก็คิดว่า อ้าว ใช้ไม่ได้เหรอ? แต่แบบนี้ใช้ได้ครับ

apfel "ช่วยบอกสูตรกิมจิจิเกหน่อย"
กิมจิจิเกเป็นหนึ่งในอาหารประเภทสตูว์ดั้งเดิมของเกาหลี เป็นเมนูที่ทำง่ายแต่มีรสชาติลุ่มลึก ด้านล่างนี้คือสูตรกิมจิจิเก:...

apfel "สวัสดี ช่วยเล่าให้ฟังเกี่ยวกับกิมจิจิเกได้ไหม"
สวัสดี! กิมจิจิเกเป็นหนึ่งในอาหารประเภทน้ำซุปที่เป็นตัวแทนของเกาหลี ทำจากกิมจิและเนื้อสัตว์ โดยทั่วไปกิมจิจิเกมักใส่หมู เนื้อวัว หรือไก่ ต้มจนได้น้ำซุปเข้มข้นที่มีรสชาติหลากหลายผสมกัน และยังเติมผักกับเครื่องปรุงต่าง ๆ เพื่อเพิ่มความลุ่มลึกของรสชาติ

apfel "สวัสดี? คุณพูดภาษาเกาหลีได้ไหม" หรือ apfel "ช่วยบอกหน่อยว่าเมืองหลวงของออสเตรียคืออะไร"
สำหรับคำถามแบบนี้ มันจะตอบแบบนกแก้วนกขุนทองประมาณด้านล่าง
สามารถดูข้อมูลเกี่ยวกับความสามารถด้านอัจฉริยะได้บนเว็บไซต์ Apple

ดูเหมือนว่าการ์ดเรลจะตั้งค่าแปลก ๆ อยู่เหมือนกันครับ

 
xguru 26 일 전

ผมเอาเนื้อหาจากที่คุยกันไปให้ Codex แก้ตามแล้ว ปรากฏว่าแก้นิดหน่อยก็ใช้ได้ดีเลยครับ

"ให้ทำตามที่คำถามต้องการตรง ๆ แต่ถ้าไม่ได้ระบุไว้เป็นพิเศษ ให้ตอบเป็นภาษาเกาหลีโดยตรง"

พอวางอะแดปเตอร์ไว้ตัวหนึ่ง แล้วถ้ามีคำตอบแนวฟังก์ชันอัจฉริยะแบบนั้นออกมา ก็เติมพรอมป์ต์ข้างบนเข้าไปเพิ่มได้ ทำให้ตอบได้ดีขึ้นครับ ดูเหมือนว่ายังไม่ค่อยสมบูรณ์เท่าไร

apfel "สวัสดี? คุณพูดภาษาเกาหลีได้ไหม?"
สวัสดีครับ! ได้ครับ ผมพูดภาษาเกาหลีได้เช่นกัน มีอะไรให้ช่วยไหมครับ?

apfel "ช่วยเล่าเรื่องเมืองหลวงของออสเตรียให้ฟังหน่อยได้ไหม?"
เมืองหลวงของออสเตรียคือเวียนนา เวียนนาเป็นที่รู้จักในฐานะศูนย์กลางด้านการเมือง วัฒนธรรม และเศรษฐกิจของออสเตรีย

 
ilotoki0804 25 일 전

ตอนแรกก่อนจะลองใช้ ผมก็ยังสงสัยอยู่ว่าเมื่อเทียบกับเครื่องมืออื่นที่รัน local LLM ได้อย่าง ollama แล้วมันจะมีข้อดีอะไร แต่พอได้ลองใช้ด้วยตัวเองจริง ๆ ก็พบว่าอาการหลอนของโมเดลค่อนข้างหนักและมันก็ดูฉลาดไม่มากนัก
อย่างไรก็ตาม เครื่องมือ local LLM อื่น ๆ มักอาศัย GPU จึงทรงพลังแต่กินทรัพยากรมาก ขณะที่โมเดลนี้ใช้ทรัพยากรค่อนข้างน้อยกว่า และดูเหมือนจะมีข้อได้เปรียบตรงที่ใช้ Neural Engine ได้ดีจึงกินพลังงานน้อยกว่า
เท่าที่ผมเข้าใจ Apple Intelligence เองก็มีคอนเซปต์เป็น AI แบบเบาที่ทำงานบนอุปกรณ์หลากหลายรวมถึงอุปกรณ์พกพา ดังนั้นในแง่คอนเซปต์ก็น่าจะถือว่าตรงเป้าพอสมควร
แต่ถึงจะเป็นโมเดลน้ำหนักเบา ผมก็คิดว่าประสิทธิภาพควรจะดีกว่านี้ถึงจะพอใช้งานได้อย่างมีประโยชน์บ้าง ตอนนี้มันยังดูไม่ฉลาดเกินไปหน่อยครับ

 
GN⁺ 26 일 전
ความคิดเห็นบน Hacker News
  • ชอบแนวทางที่ รันทุกอย่างแบบโลคัล
    คิดว่าความสำคัญของโมเดลแบบโลคัลในแง่ความเป็นส่วนตัวจะยิ่งเพิ่มขึ้นเรื่อย ๆ
    ยิ่งมีกรณีที่ผู้คนส่ง ข้อมูลบริบท ให้โมเดลคลาวด์มากเกินไปจนเกิดปัญหาเพิ่มขึ้นเท่าไร ความจำเป็นของการรันแบบโลคัลก็จะยิ่งชัดเจนขึ้น

    • แต่นี่เป็นเพียงทางออกครึ่งเดียว
      ถ้าโมเดลถูก ฝึกแบบปิด ก็อาจมีค่านิยมที่ผู้ใช้ไม่ต้องการฝังอยู่ภายในได้
      ตัวอย่างเช่น ถ้าไปถามโมเดลเปิดจากจีนเกี่ยวกับเหตุการณ์เทียนอันเหมิน ก็อาจได้คำตอบที่ผ่านการเซ็นเซอร์
      ดังนั้นทางออกที่แท้จริงคือการผสาน การฝึกแบบเปิดที่ตรวจสอบได้ เข้ากับ การรันแบบโลคัล
    • อีกมุมหนึ่งคือจะมีปัญหาเมื่อส่งคอนเทนต์ที่ไม่น่าเชื่อถือไปยังบริการ AI
      เวลาจัดการข้อมูลภายนอกอย่างการครอว์ลเว็บหรือการตรวจจับสแปม ก็มีความเสี่ยงต่อ การละเมิด ToS หรือถึงขั้นถูกแจ้งต่อหน่วยงานบังคับใช้กฎหมายโดยผิดพลาด
    • สงสัยว่ามีบริการ encrypted inferencing หรือไม่
      เวลาคุยเรื่องทั่ว ๆ ไปกับโมเดล ก็ไม่อยากส่งเนื้อหาพวกนั้นไปยังเซิร์ฟเวอร์ในรูปแบบข้อความล้วน
      เลยชอบการรันแบบโลคัลมากกว่า
    • ในชุมชน HN มีการถกเถียงเรื่องนี้กันค่อนข้างคึกคัก แต่ผู้ใช้ทั่วไปไม่ได้สนใจ ความเป็นส่วนตัว มากนัก
    • โลคัลดีที่สุดในแง่ความเป็นส่วนตัว แต่ไม่ได้แปลว่ามีแค่โลคัลเท่านั้นที่เป็นคำตอบ
      Anthropic, Google, OpenAI และรายอื่น ๆ ยอมแลกความเป็นส่วนตัวออกไปในแพ็กเกจ AI สำหรับผู้บริโภค
      เหตุผลคือการเก็บข้อมูลและ การม็อดเดอเรชัน
      แต่ถ้าใช้เทคโนโลยี การยืนยันความถูกต้องเชิงคริปโตกราฟี (cryptographic attestation) อย่าง AWS Nitro Enclaves ก็สามารถปกป้องข้อมูลส่วนบุคคลบนคลาวด์ได้เพียงพอเช่นกัน
  • ประเด็นสำคัญคือ Apple จะสามารถ ปล่อยโมเดลใหม่อย่างต่อเนื่อง ได้หรือไม่
    โมเดลปัจจุบันอยู่ราวระดับ Qwen-3-4B ซึ่งเป็นโมเดลเมื่อ 1 ปีก่อน
    ถ้าดู หน้ารีเสิร์ช Apple Foundation Models จะเห็นว่าห่างจาก Qwen-3.5-4B หรือ Gemma 4 รุ่นล่าสุดพอสมควร
    ข้อดีคือใช้งานได้ทันทีโดยไม่ต้องดาวน์โหลด แต่ก็ยังอยากใช้โมเดลที่ใหม่กว่า

    • จริง ๆ แล้วมันก็แค่เรื่องการดาวน์โหลดไฟล์ ดังนั้นไม่มีเหตุผลที่ Apple จะทำไม่ได้
      เพียงแต่ Apple ไม่ใช่บริษัทที่ขยับตัวเร็ว และมีแนวโน้มจะจำกัด ฟีเจอร์ AI ไว้ในขอบเขตจำกัด (อย่างการแต่งภาพหรือถาม Siri) มากกว่า
      ส่วนตัวคิดว่าแม้ไม่เปิด Apple Intelligence ก็ยังมีฟีเจอร์ที่มีประโยชน์อีกเยอะ
  • เคยเห็นโปรเจกต์ที่เปิดโมเดลของ Apple ออกมาในรูปแบบเน็ตเวิร์กเซิร์ฟเวอร์
    ปัญหาคือเซิร์ฟเวอร์พวกนี้อาจถูกเข้าถึงได้จากแอปอื่นอย่างเบราว์เซอร์ผ่าน พอร์ตโลคัล
    JavaScript จากเว็บเพจอันตรายสามารถส่งคำสั่งไปยังพอร์ตนั้นได้
    บางโปรเจกต์ยังเปิด CORS ไว้อีก ทำให้ยิ่งอันตราย
    ตอนนี้กำลังตรวจโค้ดของ Apfel อยู่ก่อนทดลองใช้

    • โชคดีที่ค่าตั้งต้นเป็น false
      ถึงจะยังเป็น ตัวเลือกแบบ footgun อยู่ แต่ก็ถือว่าปลอดภัยกว่าที่เคยเห็นมาจนถึงตอนนี้
    • เบราว์เซอร์ส่วนใหญ่น่าจะบล็อกคำขอ POST ไปยัง 127.0.0.1 จากเว็บไซต์ทั่วไป
      เลยสงสัยว่า threat model ที่แท้จริงคืออะไร
    • เห็นความผิดพลาดด้านความปลอดภัยแบบนี้บ่อยในโปรเจกต์ AI หรือ MCP
      แม้แต่วิศวกรที่มีประสบการณ์ก็ยังมองข้ามช่องทางโจมตีนี้
    • ยังยืนยันได้ด้วยว่ามีตัวเลือกยืนยันตัวตนแบบ Bearer token
  • ช่วงหลังมีบั๊กของ Claude ที่ทำให้โทเค็นหมดเร็วเกินไป เลยลองใช้โมเดลอื่นดู
    ส่วนใหญ่ก็อยู่ในระดับที่ ใช้แทนกันได้
    เลยสงสัยว่าตลาดที่มีความภักดีต่อแบรนด์ต่ำและต้นทุนการย้ายต่ำแบบนี้จะเปลี่ยนไปอย่างไร
    หวังว่า local LLM จะกลายเป็นทางเลือกที่ใช้งานได้จริงในไม่ช้า

    • ในความเป็นจริงแทบไม่มีความแตกต่างระหว่างโมเดลมากนัก
      เลยดูเหมือนว่า OpenAI หรือ Meta กำลังพยายามสร้างความต่างด้วยกลยุทธ์ การเชื่อมโยงทางอารมณ์ (แชตบอตแบบเพื่อนหรือคนรัก)
  • เห็นจากอีกเธรดหนึ่งแล้วก็ลองติดตั้งทันที
    ใช้พรอมป์ต์ทดสอบ LLM ว่า “9:30am ที่ไต้หวัน เทียบเป็นเวลากลางแปซิฟิกของสหรัฐคือกี่โมง
    ผลลัพธ์ออกมาต่างกันหมดและผิดทั้งหมด
    เมื่อรันผ่าน Apfel CLI พบว่าแต่ละโมเดลคำนวณส่วนต่างเวลาออกมาไม่เหมือนกัน ตั้งแต่ 11 ถึง 13 ชั่วโมง

  • ใช้มาตั้งแต่ต้นสัปดาห์นี้
    ลองเอา เครื่องมือแบ็กเทสต์การคาดการณ์ราคา ที่เคยรันบนคลาวด์มาเทียบกับโมเดลโลคัล
    โมเดลของ Apple แม่นที่สุดใน 6 จาก 10 ครั้ง
    ความเร็วก็เร็วพอที่จะใช้แทนเวิร์กโฟลว์เดิมทั้งชุดได้
    ถ้าใช้ Sonnet จะเสียเดือนละหลายพันดอลลาร์ ส่วน DeepSeek ก็หลายร้อยดอลลาร์ แต่แบบโลคัลแทบไม่เสียค่าใช้จ่ายเลย
    เพียงแต่โมเดลโลคัลอื่น ๆ ยังขาดทั้ง ความเร็วและความแม่นยำ

  • คำพูดที่ว่า “Apfel ปลดล็อกสิ่งที่ Apple ล็อกไว้หลัง Siri” ฟังดูเหมือนการตลาดเกินจริง
    จริง ๆ แล้วมันคือการเปิด เฟรมเวิร์ก FoundationModels ของ Apple Intelligence ออกมาเป็น CLI และ REST API
    และคำกล่าวที่ว่า “รันบน Neural Engine” ก็ยังไม่แน่ชัด
    จากที่ทดสอบ มันทำงานบน GPU (Metal)

  • ฉันเป็นผู้ใช้ Linux และอยากได้สิ่งเดียวกัน เลยทำโปรเจกต์ชื่อ TalkType ขึ้นมาเอง
    มันรัน Whisper แบบโลคัลเพื่อทำ การรู้จำเสียงพูดแบบออฟไลน์
    เพราะไม่อยากส่งเสียงของตัวเองขึ้นเซิร์ฟเวอร์ จึงเลือกแนวทางโลคัลตั้งแต่แรก
    ดีใจที่ได้เห็นแนวคิดแบบนี้แพร่หลายในฝั่ง Mac ด้วย

  • ขอบคุณที่ปล่อยเป็นโอเพนซอร์ส
    แม้จะติดตั้งได้บน macOS 15 แต่พอรันแล้วค้าง
    เลย ส่ง PR ให้ติดตั้งได้เฉพาะบน macOS 26 (Tahoe) ขึ้นไป

  • อยากสร้างเอนจินทดแทน Grammarly ที่ ขีดเส้นใต้ข้อผิดพลาดทางไวยากรณ์ ได้ในทุกแอปและทุกเบราว์เซอร์
    มันจะเป็นเครื่องมือที่ เน้นความเป็นส่วนตัว อย่างเต็มรูปแบบโดยไม่ต้องใช้ LLM ด้วยซ้ำ

    • เป็นไอเดียที่ดีมาก
      ถ้ามีใครทำขึ้นมาจริง ๆ ฉันอยากลองใช้แน่นอน