scouzi1966/maclocal-api

'afm' command cli: macOS server and single prompt mode that exposes Apple's Foundation and MLX Models and other APIs running on your Mac through a single aggregated OpenAI-compatible API endpoint. Supports Apple Vision and single command (non-server) inference with piping as well . Now with Web Browser and local AI API aggregator

AFM – Apple Silicon을 위한 로컬 AI 인프라

정의 – AFM(Apple Silicon Foundation Models)은 Swift 기반 네이티브 서버 및 CLI로, Apple Silicon Mac을 프라이빗한 OpenAI 호환 추론 엔드포인트로 전환합니다. 온디바이스에서 Apple Foundation Models, Hugging Face MLX 모델 또는 DwarfStar 체크포인트를 실행하며 채팅, 완성, 임베딩, 비전 OCR, 음성-텍스트, 텍스트-음성, 이미지 생성 API를 제공합니다.

주요 기능

  • OpenAI 호환 HTTP API – /v1/chat/completions, /v1/completions, /v1/embeddings, 비전, 오디오, 이미지, 배치 및 메트릭 엔드포인트. OpenAI 서버를 기대하는 모든 클라이언트(예: OpenCode, Aider, Continue)와 작동합니다.
  • 네이티브 Swift 실행 – Python 런타임 불필요. 서버와 CLI는 컴파일된 Swift 바이너리로 macOS에서 직접 실행됩니다.
  • 다중 런타임 –
    • MLX 커뮤니티 Hugging Face 모델용(양자화, VLM, 에이전트).
    • Apple Foundation Models – 다운로드 없는 시스템 모델, LoRA 어댑터 지원.
    • DwarfStar – Metal 가속 체크포인트.
    • Gateway – 다른 로컬 서버(Ollama, LM Studio 등)로의 프록시.
  • 고급 추론 기능 – 프리픽스 캐싱, 추측 디코딩(MTP, Eagle3), 동시 디코딩 큐, 토큰 수준 로그프로브, 구조화 출력 강제, 도구 호출 형식, 추론 추출, 상세 Prometheus 메트릭.
  • 풍부한 CLI / TUI – 마크다운, 구문 강조 코드, LaTeX 렌더링, 세션 기록, 대화 내보내기, 인터랙티브 오버레이를 갖춘 전체 화면 터미널 채팅.
  • 웹 UI – 빠른 테스트를 위한 번들 브라우저 기반 UI.
  • 패키징 – Homebrew, PyPI 휠, afm 바이너리로 배포. 또한 다른 macOS 앱에 직접 임베딩하기 위한 Swift 패키지(AFMKit*)로 제공.

일반적인 워크플로

  1. Homebrew(brew install scouzi1966/afm/afm) 또는 pip(pip install macafm)로 설치합니다.
  2. 모델을 시작합니다. 예: afm mlx -m Qwen3-0.6B-4bit -w(웹 UI) 또는 afm --tui(터미널 채팅).
  3. 서버는 http://127.0.0.1:9999/v1에서 수신합니다. OpenAI 호환 클라이언트를 해당 URL에 더미 API 키로 지정합니다.
  4. CLI를 사용하여 비전, 음성 또는 임베딩을 사용합니다(afm vision …, afm speech transcribe …).
  5. 프로덕션 스타일 사용을 위해 CLI 플래그로 동시성, 캐싱 또는 추측 디코딩을 구성합니다.

대상 사용자

  • 저지연 온디바이스 추론이 필요한 AI 에이전트 또는 도구를 구축하는 개발자.
  • 클라우드 키 없이 로컬 LLM 서버를 원하는 프라이버시 중시 사용자.
  • AFMKit Swift 패키지를 통해 모델을 직접 임베딩하려는 Swift/macOS 개발자.

더 알아보기


모든 세부 사항은 저장소의 README에서 직접 가져왔습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트