33 điểm bởi GN⁺ 20 ngày trước | 5 bình luận | Chia sẻ qua WhatsApp
  • Công cụ mã nguồn mở cho phép trực tiếp tận dụng Apple on-device LLM đã được tích hợp trong Apple Silicon Mac chạy macOS 26 trở lên
  • Mở mô hình dựa trên FoundationModels.framework dưới dạng CLI, máy chủ HTTP, trò chuyện tương táctương thích OpenAI API
  • Mọi xử lý đều được thực hiện cục bộ trên máy, nên không tốn chi phí, không có rủi ro rò rỉ dữ liệu, đồng thời cung cấp ngữ cảnh 4096 tokenhỗ trợ đa ngôn ngữ
  • Hỗ trợ nhiều công cụ phụ trợ như cmd, oneliner, explain, gitsum để tóm tắt mã/lệnh và tự động hóa
  • Mở hoàn toàn mô hình Apple Intelligence vốn đã có sẵn trong macOS, giúp nhà phát triển chạy AI độc lập trên chính phần cứng của mình

Tổng quan về apfel

  • apfel là công cụ cho phép sử dụng trực tiếp Apple on-device LLM được tích hợp trong Apple Silicon Mac chạy macOS 26 (Tahoe) trở lên
  • Mở mô hình ngôn ngữ dựa trên FoundationModels.framework mà Apple trước đây chỉ dùng giới hạn cho Siri và các tính năng hệ thống, dưới dạng CLI, máy chủ HTTP, trò chuyện tương tác
  • Cung cấp chạy 100% on-device, chi phí bằng 0tương thích OpenAI API
  • Có thể cài bằng Homebrew và được phát hành dưới dạng mã nguồn mở với giấy phép MIT

Tính năng chính

  • Tận dụng AI on-device: dùng nguyên trạng LLM đã có trong macOS, không cần gọi mạng hay API key
  • Bảo mật: mọi token đều được xử lý cục bộ nên dữ liệu không bị gửi ra bên ngoài
  • Thông số hiệu năng

    • khoảng 3 tỷ tham số
    • cửa sổ ngữ cảnh 4096 token
    • Lượng tử hóa độ chính xác hỗn hợp 2/4-bit

      • chạy dựa trên Neural Engine
      • hỗ trợ tiếng Anh, tiếng Đức, tiếng Tây Ban Nha, tiếng Pháp, tiếng Ý, tiếng Nhật, tiếng Hàn, tiếng Bồ Đào Nha, tiếng Trung

Cách sử dụng

  • Công cụ CLI

    • Công cụ dòng lệnh kiểu UNIX, hỗ trợ stdin/stdout, xuất JSON, đính kèm tệp, mã thoát chuẩn
    • Có thể kết hợp với jq, xargs, shell script
    • Ví dụ:
      $ apfel "What is the capital of Austria?"  
      The capital of Austria is Vienna.  
      
  • Máy chủ tương thích OpenAI

    • Hoạt động như máy chủ thay thế OpenAI API tại localhost:11434
    • Hỗ trợ Streaming(SSE), Tool Calling, CORS, response_format: json_object
    • Có thể dùng cùng mã bằng cách chỉ thay base_url trong OpenAI SDK
    • Ví dụ:
      client = OpenAI(base_url="http://localhost:11434/v1";, api_key="unused")  
      
  • Trò chuyện tương tác

    • Hỗ trợ hội thoại nhiều lượt, quản lý ngữ cảnh tự động, system prompt, 5 chiến lược cắt gọn ngữ cảnh
    • Ví dụ:
      $ apfel --chat -s "You are a coding assistant"  
      > How do I reverse a list in Python?  
      

Cấu trúc bên trong

  • Truy cập trực tiếp Apple LLM tích hợp sẵn thông qua FoundationModels.framework
  • Với mô hình mà Apple trước đây chỉ dùng trong Siri, Writing Tools..., apfel bọc LanguageModelSession bằng binary Swift 6.3 để cung cấp giao diện truy cập trực tiếp
  • Tích hợp máy chủ HTTP dựa trên Hummingbird
  • Để bù cho giới hạn 4096 token, công cụ bao gồm 5 chiến lược cắt gọn ngữ cảnhđếm token chính xác
  • Chuyển đổi OpenAI Tool Schema sang định dạng Apple Transcript.ToolDefinition

Các công cụ phụ trợ đi kèm

  • cmd

    • Chuyển ngôn ngữ tự nhiên thành lệnh shell
    • Ví dụ: "find all .log files modified today" → xuất ra lệnh thực tế
  • oneliner

    • Tạo pipeline awk, sed, sort, uniq từ ngôn ngữ tự nhiên
  • mac-narrator

    • Thuyết minh dạng tường thuật về hoạt động hệ thống của Mac
  • explain

    • Giải thích bằng ngôn ngữ thường cho lệnh hoặc đoạn mã
  • wtd

    • Tóm tắt và mô tả codebase trong thư mục hiện tại
  • gitsum

    • Tạo tóm tắt các commit git gần đây

Tương thích hoàn toàn với OpenAI API

  • Hỗ trợ các endpoint chính như /v1/chat/completions, /v1/models
  • Có thể dùng các tham số như temperature, max_tokens, seed
  • Hỗ trợ CORS cho client trình duyệt
  • Có thể tích hợp theo cùng cách với OpenAI SDK, LangChain, LlamaIndex...

Độ phổ biến trên GitHub và phát hành

  • Ghi nhận 1.030 sao, 27 fork
  • Tăng 818 sao chỉ trong ngày 3/4/2026
  • Các kỹ sư thuộc Apple, Google, VMware, NVIDIA, Grafana đã đánh dấu sao
  • Lệnh cài đặt:
    $ brew install Arthur-Ficial/tap/apfel  
    $ apfel "Hello, Mac!"  
    
  • Cần macOS 26.4 SDK khi build từ mã nguồn

Dự án mở rộng

  • apfel-gui

    • GUI macOS dựa trên SwiftUI

      • Cung cấp trò chuyện với Apple Intelligence, nhật ký request/response, tính năng nhập/xuất giọng nói
      • Sắp phát hành
  • apfel-clip

    • Công cụ thao tác AI dựa trên clipboard

      • Thực hiện một cú nhấp từ thanh menu cho các tác vụ như sửa ngữ pháp, dịch thuật, giải thích mã, tóm tắt
      • Đang được phát triển

Tóm tắt kỹ thuật

  • Phần cứng: Apple Silicon (Neural Engine + GPU)
  • Mô hình: Apple LLM tích hợp trong macOS
  • SDK: FoundationModels.framework
  • Ngôn ngữ: Swift 6.3, không cần Xcode
  • Giấy phép: MIT
  • Cửa sổ token: 4096 (tổng đầu vào + đầu ra)
  • Số lượng mô hình: cố định 1

Giá trị cốt lõi

  • Mở hoàn toàn mô hình Apple Intelligence vốn đã tồn tại trong macOS
  • Cung cấp môi trường AI cục bộ không tốn phí, giúp nhà phát triển và người dùng chạy AI trực tiếp trên phần cứng của mình
  • Giao diện AI mã nguồn mở dành riêng cho Mac đảm bảo đồng thời bảo mật, tốc độ và tính độc lập

5 bình luận

 

Có vẻ sẽ khá thú vị, nhưng lạ là tiếng Hàn lại không hoạt động tốt lắm.
Tôi đang lấy mã nguồn về và mổ xẻ cùng với Codex, thì có vẻ ngay từ phản hồi của Foundation Model phía tiếng Hàn đã hơi kỳ rồi.
Tôi sẽ thử thêm một chút nữa, nếu ai đã làm thành công thì hãy cho biết trong phần bình luận nhé hehe

 

apfel "Hãy cho tôi công thức Currywurst"
error: [guardrail] Yêu cầu đã bị chặn bởi các hàng rào an toàn của Apple. Hãy thử diễn đạt lại.

Ủa, không được à? Tôi đã nghĩ vậy, nhưng cái này thì được.

apfel "Hãy cho tôi công thức kimchi jjigae"
Kimchi jjigae là một trong những món canh hầm truyền thống của Hàn Quốc, là món ăn đơn giản nhưng có hương vị đậm đà. Dưới đây là công thức kimchi jjigae:...

apfel "Xin chào. Bạn có thể cho tôi biết về kimchi jjigae không?"
Xin chào! Kimchi jjigae là một trong những món nước tiêu biểu của Hàn Quốc, được làm từ kimchi và thịt. Kimchi jjigae thường được nấu với thịt heo, thịt bò hoặc thịt gà để tạo nên phần nước dùng đậm đà với nhiều hương vị hòa quyện. Ngoài ra còn thêm các loại rau và gia vị để làm vị càng sâu hơn.

apfel "Xin chào? Bạn có nói được tiếng Hàn không?" hay apfel "Bạn có thể cho tôi biết về thủ đô của Áo không?"
Với những câu hỏi như vậy, nó trả lời kiểu con vẹt như bên dưới.
Bạn có thể tìm hiểu về các tính năng thông minh trên trang web Apple.

Có vẻ như guardrail đang bị bắt hơi kỳ quặc.

 

Tôi đã để Codex chỉnh sửa dựa trên nội dung cuộc trò chuyện này thì nó chỉ sửa nhẹ và chạy ổn.

"Hãy làm đúng theo yêu cầu của câu hỏi, nhưng nếu không có chỉ định riêng thì hãy trả lời trực tiếp bằng tiếng Hàn."

Nếu đặt một lớp adapter và khi xuất hiện câu trả lời kiểu chức năng thông minh như vậy thì thêm prompt ở trên vào, câu trả lời sẽ ra khá tốt. Có vẻ như vẫn còn hơi chưa hoàn thiện.

apfel "Xin chào? Bạn có nói được tiếng Hàn không?"
Xin chào! Vâng, tôi cũng có thể dùng tiếng Hàn. Tôi có thể giúp gì cho bạn?

apfel "Bạn có thể cho tôi biết về thủ đô của Áo không?"
Thủ đô của Áo là Vienna. Vienna được biết đến là trung tâm chính trị, văn hóa và kinh tế của Áo.

 
ilotoki0804 19 ngày trước

Ban đầu trước khi dùng thử thì mình khá nghi ngờ không biết nó có ưu điểm gì so với các công cụ khác có thể chạy local LLM như ollama, nhưng khi tự dùng thực tế thì thấy hiện tượng hallucination cũng nặng và khá ngớ ngẩn.
Tuy vậy, các công cụ local LLM khác thường tận dụng GPU nên mạnh hơn nhưng cũng ngốn rất nhiều tài nguyên, còn model này thì có vẻ có lợi thế ở chỗ dùng ít tài nguyên hơn tương đối và tận dụng tốt Neural Engine nên cũng tiêu thụ ít điện năng hơn.
Mình được biết bản thân Apple Intelligence có concept là chạy AI nhẹ trên nhiều thiết bị khác nhau, bao gồm cả thiết bị di động, nên có lẽ nó khá phù hợp với concept đó.
Dù vậy, kể cả là model nhẹ thì hiệu năng vẫn nên tốt hơn mức này một chút thì mới có thể dùng hữu ích hơn được. Hiện tại nó ngớ ngẩn quá.

 
Ý kiến từ Hacker News
  • Tôi thích cách tiếp cận chạy mọi thứ cục bộ
    Tôi nghĩ tầm quan trọng của các mô hình cục bộ sẽ ngày càng lớn hơn về mặt quyền riêng tư
    Càng có nhiều trường hợp người dùng chuyển quá nhiều thông tin ngữ cảnh cho các mô hình đám mây rồi xảy ra sự cố, nhu cầu chạy cục bộ sẽ càng được củng cố

    • Đây chỉ là một nửa giải pháp
      Nếu mô hình được huấn luyện theo kiểu đóng, nó có thể mang sẵn những hệ giá trị mà người dùng không mong muốn
      Ví dụ, nếu hỏi một mô hình mở của Trung Quốc về sự kiện Thiên An Môn, nó có thể đưa ra câu trả lời đã bị kiểm duyệt
      Vì vậy, giải pháp thực sự là kết hợp huấn luyện mở có thể kiểm chứng với chạy cục bộ
    • Ở một góc nhìn khác, vấn đề cũng nảy sinh khi chuyển nội dung không đáng tin cậy cho dịch vụ AI
      Khi xử lý dữ liệu bên ngoài như thu thập dữ liệu web hay phát hiện spam, có nguy cơ vi phạm ToS hoặc thậm chí bị báo nhầm cho cơ quan thực thi pháp luật
    • Tôi tò mò không biết có dịch vụ suy luận được mã hóa (encrypted inferencing) nào không
      Khi trò chuyện thường ngày với mô hình, tôi không muốn gửi nội dung đó lên máy chủ dưới dạng văn bản thuần
      Vì vậy tôi thích chạy cục bộ hơn
    • Trong cộng đồng HN, các cuộc thảo luận như vậy diễn ra rất sôi nổi, nhưng người dùng phổ thông lại không quá quan tâm đến quyền riêng tư
    • Cục bộ là lựa chọn tốt nhất cho quyền riêng tư, nhưng không nhất thiết chỉ có cục bộ mới là đáp án
      Anthropic, Google, OpenAI và các công ty khác đã từ bỏ quyền riêng tư trong các gói AI dành cho người tiêu dùng
      Lý do là thu thập dữ liệu và kiểm duyệt nội dung
      Nhưng nếu tận dụng các công nghệ bảo chứng mật mã (cryptographic attestation) như AWS Nitro Enclaves, thì ngay cả trên đám mây vẫn có thể bảo vệ dữ liệu cá nhân khá tốt
  • Điểm mấu chốt là liệu Apple có thể tiếp tục phát hành mô hình mới hay không
    Mô hình hiện tại chỉ ở mức Qwen-3-4B, tức là mô hình của một năm trước
    Nhìn vào trang nghiên cứu Apple Foundation Models thì thấy khoảng cách với Qwen-3.5-4B hay Gemma 4 mới nhất còn khá lớn
    Việc có thể dùng ngay mà không cần tải xuống là điểm hay, nhưng tôi vẫn muốn dùng các mô hình mới nhất

    • Thực ra đây chỉ đơn giản là vấn đề tải tệp, nên không có lý do gì Apple không làm được
      Tuy nhiên Apple không phải công ty di chuyển nhanh, và có vẻ họ sẽ chỉ giữ các tính năng AI trong phạm vi hạn chế (chỉnh sửa ảnh, câu hỏi cho Siri, v.v.)
      Cá nhân tôi thấy ngay cả khi không bật Apple Intelligence thì vẫn có nhiều tính năng hữu ích
  • Tôi đã thấy một số dự án phơi bày mô hình Apple dưới dạng máy chủ mạng
    Vấn đề là các máy chủ này có thể bị các ứng dụng khác như trình duyệt truy cập thông qua cổng cục bộ
    JavaScript từ một trang web độc hại có thể gửi lệnh tới cổng đó
    Một số dự án còn cho phép cả CORS nên càng nguy hiểm hơn
    Tôi cũng đang xem mã của Apfel trước khi thử nghiệm

    • May là cấu hình mặc định là false
      Dù vậy đây vẫn là một tùy chọn dễ tự bắn vào chân mình (footgun), nhưng nhìn chung vẫn an toàn hơn nhiều thứ tôi từng thấy
    • Hầu hết trình duyệt có lẽ sẽ chặn các yêu cầu POST tới 127.0.0.1 từ website tùy ý
      Nên tôi tò mò mô hình đe dọa thực sự ở đây là gì
    • Tôi thấy kiểu sai lầm bảo mật này khá thường xuyên trong các dự án AI hay MCP
      Ngay cả kỹ sư giàu kinh nghiệm đôi khi cũng bỏ sót vector tấn công này
    • Tôi cũng xác nhận là có tùy chọn xác thực bằng Bearer token
  • Gần đây do lỗi của Claude khiến token bị tiêu hao quá nhanh, tôi đã thử một số mô hình khác
    Hầu hết đều ở mức có thể thay thế cho nhau
    Tôi tò mò thị trường có mức độ trung thành thương hiệu thấp và chi phí chuyển đổi thấp như vậy sẽ thay đổi ra sao
    Hy vọng local LLM sớm trở thành một lựa chọn thay thế thực tế

    • Trên thực tế hầu như không có khác biệt rõ rệt giữa các mô hình
      Vì vậy có vẻ OpenAI hay Meta đang cố tạo khác biệt bằng chiến lược kết nối cảm xúc (chatbot kiểu bạn bè/người yêu)
  • Tôi thấy nó ở một thread khác rồi cài thử ngay
    Tôi dùng prompt kiểm tra LLM là “9:30 sáng ở Đài Loan là mấy giờ theo giờ Thái Bình Dương của Mỹ”,
    nhưng kết quả thì mỗi mô hình trả lời một kiểu và tất cả đều sai
    Khi chạy bằng Apfel CLI, các mô hình tự tính chênh lệch từ 11 đến 13 tiếng rất lộn xộn

  • Tôi đã dùng nó từ đầu tuần này
    Tôi đem công cụ backtest dự đoán giá vốn chạy trên đám mây ra so với mô hình cục bộ,
    và mô hình của Apple cho kết quả chính xác nhất trong 6 trên 10 lần
    Tốc độ cũng đủ nhanh để có thể thay thế cả quy trình làm việc hiện tại
    Dùng Sonnet thì tốn vài nghìn USD mỗi tháng, DeepSeek thì vài trăm USD, còn cục bộ thì gần như miễn phí
    Tuy nhiên các mô hình cục bộ khác lại thiếu về tốc độ hoặc độ chính xác

  • Cách nói “Apfel mở khóa thứ mà Apple đã khóa sau Siri” nghe giống marketing cường điệu
    Thực tế nó chỉ là phơi bày framework FoundationModels của Apple Intelligence qua CLI và REST API
    Ngoài ra, tuyên bố “chạy trên Neural Engine” cũng chưa chắc đúng
    Tôi thử thì thấy nó chạy trên GPU (Metal)

  • Tôi là người dùng Linux, cũng muốn có thứ tương tự nên đã tự làm dự án tên TalkType
    Nó chạy Whisper cục bộ để thực hiện nhận dạng giọng nói ngoại tuyến
    Tôi không muốn gửi giọng nói của mình lên máy chủ nên ngay từ đầu đã chọn cách làm cục bộ
    Thật vui khi thấy ý tưởng này cũng đang lan sang Mac

  • Cảm ơn vì đã phát hành mã nguồn mở
    Trên macOS 15 vẫn cài được nhưng bị dừng khi chạy,
    nên tôi đã gửi PR để chỉ cho phép cài trên macOS 26 (Tahoe) trở lên

  • Tôi muốn tạo một engine thay thế Grammarly có thể gạch dưới lỗi ngữ pháp trong mọi ứng dụng và trình duyệt
    Nó sẽ là một công cụ hoàn toàn đặt quyền riêng tư lên hàng đầu, thậm chí còn không cần tới LLM

    • Ý tưởng thật sự rất hay
      Nếu có ai làm ra, tôi chắc chắn sẽ dùng thử