Apple, macOS 환경에서 Apple Intelligence의 Foundation Model에 접근할 수 있는 Python SDK 공개

Foundation Models SDK for Python 소개

최근 Apple에서 macOS 환경의 Apple Intelligence 핵심을 이루는 온디바이스 파운데이션 모델에 직접 접근할 수 있는 Foundation Models SDK for Python 을 공개했습니다. 이 SDK는 기존 Swift 개발 환경에 국한되어 있던 Apple의 Foundation Models 프레임워크를 Python 환경에서 호출하고 제어할 수 있도록 공식 바인딩(bindings)을 제공합니다. 이를 통해 개발자들은 별도의 외부 API 키 발급이나 클라우드 인퍼런스 과금 없이, Mac 로컬 환경에서 강력한 AI 모델을 즉각적으로 활용할 수 있게 되었습니다.

Foundation Models에 접근할 수 있는 이 Python SDK는 기존 Swift 개발 환경에 국한되어 있던 Apple의 네이티브 프레임워크를 파이썬에서 호출할 수 있도록 공식 바인딩(bindings)을 제공하는 핵심 브릿지 역할을 수행합니다. 이를 통해 개발자들은 별도의 외부 API 키 발급이나 클라우드 인퍼런스 과금 없이, Mac 로컬 환경에서 강력한 AI 모델을 즉각적이고 자유롭게 활용할 수 있게 되었습니다. 특히 머신러닝 모델 평가 및 데이터 분석 워크플로우에 있어 파이썬 생태계가 자랑하는 풍부한 데이터 과학 라이브러리들을 그대로 활용할 수 있다는 점이 큰 강점입니다. 현재 베타 버전으로 제공되고 있으며, 로컬 기반의 LLM 생태계를 연구하고 활용하고자 하는 엔지니어들에게 매우 매력적이고 실용적인 솔루션입니다.

개발자는 실제 Swift 앱에 탑재될 AI 기능을 파이썬 스크립트를 통해 사전에 테스트하고 응답 품질을 정밀하게 평가할 수 있습니다. 이 모든 과정이 실제 기기(On-device)의 Foundation Models Framework를 백단에서 구동하여 이루어지므로, 실제 앱 배포 시의 성능과 동작을 정확하게 반영한다는 강력한 신뢰성을 제공합니다. 대규모 프롬프트 벤치마킹이나 검색 증강 생성(RAG) 파이프라인의 응답 테스트를 자동화하는 데 있어 파이썬의 유연함은 필수불가결합니다. 즉, 파이썬 SDK는 검증 및 데이터 처리 워크플로우를 담당하고, Swift 네이티브 프레임워크는 실제 프로덕션 배포를 담당하는 완벽한 상호 보완적 생태계를 이룹니다. 결과적으로 이 도구는 기기 내 AI 통합을 가속화하고 개발 주기를 단축시키는 데 핵심적인 기여를 할 것입니다.

이 Python SDK는 특히 머신러닝 모델 평가 및 데이터 분석 워크플로우에 있어 큰 강점을 가집니다. Python 생태계가 자랑하는 풍부한 데이터 과학 및 머신러닝 라이브러리들을 그대로 활용할 수 있기 때문입니다. 개발자는 Swift 앱에 탑재될 Foundation Models의 기능을 Python 스크립트를 통해 사전에 테스트하고 품질을 평가할 수 있으며, 이 모든 과정이 실제 기기(On-device)에서 구동되므로 실제 앱 배포 시의 성능과 동작을 정확하게 반영합니다. 현재 베타(Beta) 버전으로 제공되고 있으며, 로컬 기반의 LLM 생태계를 활용하고자 하는 AI/SW 엔지니어들에게 매우 매력적이고 실용적인 솔루션입니다.

Apple의 Foundation Models Framework 소개

최근 클라우드 기반 AI 모델의 높은 API 비용과 개인정보 유출 우려가 커지면서, 기기 내부에서 직접 AI를 구동하는 온디바이스(On-device) AI가 주목받고 있습니다. 이러한 흐름에 맞춰 Apple은 iOS, macOS, iPadOS, visionOS 등 자사 생태계에서 작동하는 Apple Intelligence의 핵심 LLM(대규모 언어 모델)에 개발자가 직접 접근할 수 있도록 Foundation Models Framework를 공식 발표했습니다.

Apple이 공개한 Foundation Models Framework는 단순히 외부 API를 호출하는 래퍼(Wrapper)가 아닙니다. Apple Silicon(CPU, GPU, Neural Engine)의 연산 능력을 극대화하여 기기 내부에서 오프라인으로 텍스트를 생성하고 구조화된 데이터를 반환하는 강력한 네이티브 도구입니다. 개발자들은 이 프레임워크를 통해 네트워크 연결 없이도 안전하고 빠르게 텍스트 요약, 엔티티 추출, 지능형 챗봇 등의 기능을 앱에 구현할 수 있습니다.

특히 클라우드 기반 모델과 달리 API 호출당 발생하는 종량제 과금이 없으며, 사용자의 민감한 데이터가 기기 외부로 전송되지 않으므로 프라이버시가 완벽하게 보호된다는 것이 가장 큰 장점입니다. Foundation Models Framework는 기존 앱의 사용자 경험을 한 차원 높이는 지능형 앱(Intelligent App) 시대를 열어갈 필수적인 인프라입니다.

Foundation Models SDK for Python의 주요 특징

상태 유지 세션과 프롬프트 분리

파이썬 SDK는 백단에서 동작하는 네이티브 프레임워크의 핵심 아키텍처를 그대로 상속받습니다. 그중 가장 중요한 개념은 LanguageModelSession을 통한 상태 유지(Stateful) 기능입니다. 모델은 세션 내의 대화 기록(Transcript)을 기억하므로 자연스러운 멀티턴(Multi-turn) 대화가 가능합니다.

또한, 시스템의 성격을 규정하는 지시어(Instructions) 및 사용자의 입력인 프롬프트(Prompts) 를 구조적으로 분리하여, 사용자의 악의적인 프롬프트 인젝션으로부터 시스템을 안전하게 보호합니다.

import asyncio
import apple_fm_sdk as fm

async def main():
    # 시스템 기본 파운데이션 모델 인스턴스화
    model = fm.SystemLanguageModel()
    is_available, reason = model.is_available()
    
    if is_available:
        # 상태가 유지되는 세션 생성
        session = fm.LanguageModelSession(model=model)
        
        # 프롬프트를 전송하여 비동기적으로 응답 생성
        response = await session.respond(prompt="Hello, how are you?")
        print(f"Model response: {response}")
    else:
        print(f"Foundation Models not available: {reason}")

if __name__ == "__main__":
    asyncio.run(main())
```

### 구조화된 출력 (Guided Generation)

기존 클라우드 LLM을 사용할 때 개발자들이 겪는 가장 큰 고충 중 하나는 모델이 반환하는 JSON 데이터의 형식이 깨지는 문제입니다. 이 문제를 해결하기 위해 도입된 기능이 Guided Generation입니다.

Swift 네이티브 환경의 `@Generable` 매크로와 동일하게, 파이썬 SDK에서는 `@generable` 데코레이터와 `guide` 함수를 제공합니다. 이를 통해 모델의 출력을 특정 스키마(Schema)나 타입으로 엄격하게 강제할 수 있으며, 개발자는 텍스트 파싱의 부담 없이 안전하게 정형화된 데이터를 객체 형태로 직접 반환받을 수 있습니다.

### 스트리밍 응답 (Streaming Responses)

텍스트 생성이 모두 완료될 때까지 기다리는 것은 사용자 경험(UX)을 저해할 수 있습니다. SDK는 모델이 생성하는 텍스트나 구조화된 데이터를 청크(Chunk) 단위로 실시간으로 스트리밍하는 기능을 제공합니다.

비동기 제너레이터를 활용하면 다음과 같이 생성되는 응답을 즉각적으로 처리하거나 화면에 렌더링할 수 있습니다. (예: `async for chunk in session.stream_response(...)`) 이를 통해 챗봇 UI에서 글자가 하나씩 타이핑되는 듯한 부드러운 반응성을 구현할 수 있습니다.

### 도구 호출 및 평가 워크플로우 (Tool Calling & Evaluation)

파이썬 SDK는 `Tool` 클래스를 지원하여, 모델이 사용자 요청을 분석한 뒤 필요에 따라 개발자가 정의한 외부 로컬 함수나 API를 능동적으로 호출할 수 있게 해줍니다.

이러한 도구 호출 기능과 파이썬의 데이터 분석 라이브러리(Pandas, PyTorch 등)를 결합하면 강력한 **평가 워크플로우(Evaluation workflows)**를 구축할 수 있습니다. 대규모 데이터셋을 활용해 온디바이스 모델의 응답 정확도, 도구 호출의 적절성 등을 벤치마킹하여, 최종적으로 배포될 Swift 앱의 품질을 데이터 기반으로 검증할 수 있습니다.

## Foundation Models SDK for Python 시스템 요구 사항 및 설치 방법

이 SDK는 Apple Intelligence의 코어인 온디바이스 파운데이션 모델을 직접 호출하므로 최신 운영체제 및 개발 환경이 필수적입니다.

* **운영체제:** macOS 26.0 이상
* **개발 도구:** Xcode 26.0 이상 (Xcode 앱 실행 후 'Xcode and Apple SDKs agreement' 약관 동의 필수)
* **언어 환경:** Python 3.10 이상
* **기기 설정:** Apple Intelligence 기능이 지원되는 호환 기기여야 하며, 시스템 설정에서 기능이 켜져 있어야 합니다.

**설치 방법:** [공식 GitHub 저장소](https://github.com/apple/python-apple-fm-sdk)를 복제(clone)한 후, 빠른 속도를 자랑하는 `uv` 패키지 매니저를 활용하여 로컬(editable) 모드로 설치하는 것을 권장합니다.

```
git clone https://github.com/apple/python-apple-fm-sdk
cd python-apple-fm-sdk

uv venv
source .venv/bin/activate

uv pip install -e .
```

## :books: Apple Foundation Models Framework 문서

https://developer.apple.com/documentation/FoundationModels

## :books: Foundation Models SDK for Python 문서

https://apple.github.io/python-apple-fm-sdk/

## :github: Foundation Models SDK for Python 프로젝트 GitHub 저장소

https://github.com/apple/python-apple-fm-sdk


<br /><br />

---

*이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.* 🤗

[:pytorch:파이토치 한국 사용자 모임🇰🇷](https://pytorch.kr/)이 정리한 이 글이 유용하셨나요? [회원으로 가입](https://discuss.pytorch.kr/signup)하시면 주요 글들을 이메일💌로 보내드립니다! (기본은 Weekly지만 [Daily로 변경도 가능](https://discuss.pytorch.kr/my/preferences/emails)합니다.)

 🎁 아래↘️쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ 🤩