피드로 돌아가기
Hugging Face BlogBackend
원문 읽기
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
AI 요약
Context
Apple 플랫폼에서 AI 앱을 개발할 때 로컬 모델(Core ML, MLX), 클라우드 제공자(OpenAI, Anthropic), Apple Foundation Models 각각이 서로 다른 API와 통합 패턴을 요구하고 있다. 개발자들은 모델 간 전환 시 코드를 대폭 재작성해야 하므로, 새로운 모델 실험 비용이 높아 오픈소스 로컬 모델 도입을 꺼리고 있다.
Technical Solution
- Apple Foundation Models 프레임워크를 기본 API로 설정하고, 이를 다른 모델 제공자들이 구현할 수 있는 템플릿으로 활용:
import FoundationModels을import 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 문 하나 변경으로 수행할 수 있어 프로토타입 개발 속도를 높이고 프로덕션 배포 시 비용 최적화 선택지를 확보할 수 있다.