eastriverlee/LLM.swift

LLM.swift is a simple and readable library that allows you to interact with large language models locally with ease for macOS, iOS, watchOS, tvOS, and visionOS.

What it solves

LLM.swift는 Apple 생태계 앱(macOS, iOS, watchOS, tvOS, visionOS)에서 대규모 언어 모델(LLM)을 통합하는 작업을 단순화하는 라이브러리입니다. 로컬에서 모델을 실행하기 위한 고수준이며 가독성 좋은 Swift 인터페이스를 제공하여 저수준 C++ 바인딩 관리나 수동 프롬프트 포맷팅의 복잡성을 없앱니다.

How it works

이 라이브러리는 llama.cpp 위에 추상화 레이어를 두어 개발자가 로컬 번들이나 Hugging Face에서 직접 GGUF 형식 모델을 로드할 수 있게 합니다. 대화 기록, 채팅 템플릿(모델에 내장된 Jinja 엔진 사용 또는 수동 오버라이드) 및 증분 토큰 평가를 처리하여 모바일 기기에서 성능을 최적화합니다.

Who it’s for

클라우드 API에 의존하지 않고 디바이스 내에서 로컬로 LLM을 실행하고자 하는 Apple 플랫폼용 AI 기반 애플리케이션을 개발하는 Swift 개발자를 위한 것입니다.

Highlights

  • Type-Safe Structured Output: @Generatable 매크로를 사용해 Swift struct와 enum으로부터 자동으로 JSON 스키마를 생성하여 모델이 유효하고 프로그래밍 가능한 응답을 생성하도록 보장합니다.
  • Native Tool Use: Tool 프로토콜을 통해 모델이 Swift 코드와 상호 작용할 수 있도록 함수 호출을 지원합니다.
  • Chain of Thought Support: 사고 토큰을 위한 내장 처리를 제공하여 개발자가 모델의 내부 추론 과정과 최종 답변을 분리할 수 있게 합니다.
  • Local Model Management: 로컬 파일에서 모델을 로드하거나 Hugging Face에서 직접 다운로드하는 것을 지원합니다.
  • Text Embeddings: 텍스트 임베딩 생성 및 비교를 기본 지원하여 의미 검색 및 유사도 작업에 활용할 수 있습니다.