피드로 돌아가기
Introducing AnyLanguageModel: One API for Local and Remote LLMs on Apple Platforms
Hugging Face BlogHugging Face Blog
Backend

Apple 개발자들이 AnyLanguageModel Swift 패키지를 도입해 Foundation Models API 하나로 Core ML, MLX, llama.cpp, Ollama, OpenAI, Anthropic, Google Gemini 등 7개 이상의 모델 제공자를 통합

Introducing AnyLanguageModel: One API for Local and Remote LLMs on Apple Platforms

2025년 11월 20일10intermediate

Context

Apple 플랫폼에서 AI 앱을 개발할 때 로컬 모델(Core ML, MLX), 클라우드 제공자(OpenAI, Anthropic), Apple Foundation Models 각각이 서로 다른 API와 통합 패턴을 요구하고 있다. 개발자들은 모델 간 전환 시 코드를 대폭 재작성해야 하므로, 새로운 모델 실험 비용이 높아 오픈소스 로컬 모델 도입을 꺼리고 있다.

Technical Solution

  • Apple Foundation Models 프레임워크를 기본 API로 설정하고, 이를 다른 모델 제공자들이 구현할 수 있는 템플릿으로 활용: import FoundationModelsimport AnyLanguageModel으로 한 줄만 변경
  • Swift 6.1 Package Traits를 사용해 의존성 선택: MLX만 사용하는 경우 llama.cpp 의존성을 포함하지 않도록 구성
  • LanguageModelSession 및 respond(to:) API를 모든 백엔드에서 동일하게 제공: SystemLanguageModel, MLXLanguageModel, CoreMLLanguageModel, LlamaLanguageModel, OllamaLanguageModel, AnthropicLanguageModel, OpenAILanguageModel, GoogleLanguageModel 등 8개 구현체 제공
  • Apple Foundation Models가 지원하지 않는 이미지 입력 기능을 확장: session.respond(to:image:) 메서드로 Claude, Gemini 등 비전-언어 모델에 이미지 전송 가능
  • chat-ui-swift 샘플 애플리케이션으로 Foundation Models 기반 Apple Intelligence 통합, Hugging Face OAuth 인증, 스트리밍 응답, 채팅 지속성 구현 예시 제공

Impact

아티클에 정량적 수치가 명시되지 않았으므로 이 섹션을 생략합니다.

Key Takeaway

기존 플랫폼 API(Foundation Models)를 새로운 통합 레이어의 기반으로 삼으면, 개발자가 개념적 오버헤드를 최소화하면서도 여러 모델 제공자를 유연하게 교체할 수 있다. 패키지 특성(traits) 시스템으로 불필요한 의존성을 제거하면, 로컬 모델 도입 비용이 낮아져 오픈소스 모델 실험을 장려할 수 있다.


Apple 플랫폼에서 AI 기능을 구현하는 엔지니어는 AnyLanguageModel의 Foundation Models 호환 API를 채택하면, 로컬 모델(MLX, Core ML)과 클라우드 제공자(OpenAI, Anthropic) 간 전환을 import 문 하나 변경으로 수행할 수 있어 프로토타입 개발 속도를 높이고 프로덕션 배포 시 비용 최적화 선택지를 확보할 수 있다.

원문 읽기