AnyLanguageModel: Apple 플랫폼을 위한 통합 LLM API
AnyLanguageModel는 로컬 및 원격 LLM을 위한 통합 인터페이스를 제공합니다
Hugging Face는 AnyLanguageModel이라는 Swift 패키지를 발표했습니다. 이 패키지는 Apple 플랫폼 애플리케이션에 대형 언어 모델(LLM)을 통합하는 데 따르는 어려움을 줄이도록 설계되었습니다. 이 라이브러리는 Apple의 Foundation Models 프레임워크를 대체하는 드롭인 방식으로 동작하여, 개발자가 동일한 API를 유지하면서 단일 import 문만 변경하면 로컬 오픈소스 모델과 클라우드 기반 최첨단 모델 간에 전환할 수 있게 합니다.
다양한 모델 제공자를 지원
AnyLanguageModel은 일관된 인터페이스를 통해 다양한 백엔드를 사용할 수 있게 해 줍니다. 이 접근 방식은 빠른 실험을 가능하게 하며, 개발자는 사용 사례가 검증된 후 클라우드 제공자에서 시작해 로컬 모델로 마이그레이션할 수 있습니다.
지원되는 제공자는 다음과 같습니다:
- Apple Foundation Models: macOS 26+ 및 iOS 26+에 대한 네이티브 통합.
- Local Inference: Core ML(Neural Engine 가속), MLX(Apple Silicon 최적화), llama.cpp(GGUF 모델), Ollama(HTTP API)를 지원.
- Cloud Providers: OpenAI, Anthropic, Google Gemini와 통합.
- Hugging Face Inference Providers: Hugging Face를 통해 수백 개의 클라우드 모델에 접근.
Apple의 Foundation Models를 기반으로 한 API 설계
AnyLanguageModel은 새로운 추상화를 만들기보다 Apple의 Foundation Models 프레임워크를 기본 API 템플릿으로 사용합니다. 이 설계 선택은 다음 세 가지 주요 이유에서 이루어졌습니다:
- Ergonomics: 기존 프레임워크는 Swift 매크로와 세션, 도구, 생성에 대한 추상화를 활용하여 LLM 기능에 잘 매핑됩니다.
- Low Conceptual Overhead: Apple 플랫폼을 대상으로 하는 대부분의 Swift 개발자는 Foundation Models API를 이미 접해 보았기 때문에, 이를 기반으로 하면 학습 곡선이 낮아집니다.
- Stability: "lowest common denominator" 접근 방식을 사용하면 과도한 추상화 레이어를 피할 수 있어 개발자가 해결하려는 문제와 거리가 멀어지는 것을 방지합니다.
Swift 6.1 패키지 트레이트를 통한 최적화된 의존성 관리
의존성 부풀림을 방지하기 위해 AnyLanguageModel은 Swift 6.1 패키지 트레이트를 활용합니다. 이를 통해 개발자는 필요한 특정 백엔드만 선택적으로 포함시킬 수 있어, 무거운 의존성이 프로젝트에 불필요하게 끌어들여지는 것을 방지합니다.
사용 가능한 트레이트에는 CoreML, MLX, Llama(llama.cpp / llama.swift용)가 포함됩니다. 기본적으로 패키지는 기본 API와 클라우드 제공자를 포함하며, 이는 표준 URLSession 네트워킹만을 사용합니다.
비전-언어 모델을 위한 확장된 기능
현재 Apple의 Foundation Models 프레임워크는 프롬프트와 함께 이미지를 전송하는 기능을 지원하지 않지만, AnyLanguageModel은 API를 확장하여 비전-언어 모델(VLM)을 지원합니다. 이를 통해 개발자는 Claude와 같은 호환 모델에 이미지를 전송하여 이미지 설명, 스크린샷에서 텍스트 추출, 차트 분석 등의 작업을 수행할 수 있습니다.
로드맵 및 향후 개발
AnyLanguageModel은 현재 pre-1.0 단계에 있습니다. 핵심 API는 안정적이지만, 프로젝트는 모든 어댑터에 다음 기능을 제공하기 위해 활발히 작업 중입니다:
- Tool calling: 모든 제공자에 대한 도구 호출 지원.
- MCP integration: 도구 및 유도 작업에 대한 MCP 통합.
- Guided generation: 구조화된 출력에 대한 가이드 생성.
- Performance optimizations: 로컬 추론을 위한 성능 최적화.
목표는 모델이 시스템 리소스에 접근하고 도구를 활용하여 복잡한 작업을 완수할 수 있는 Apple 플랫폼용 원활한 에이전시 워크플로우를 구축하기 위한 필수 기반을 제공하는 것입니다.