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

Apple プラットフォーム向けに AI 機能を持つアプリを構築する Swift 開発者で、クラウド API に依存せずデバイス上でローカルに LLM を実行したい方に最適です。

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: テキスト埋め込みの生成と比較を組み込みでサポートし、セマンティック検索や類似度タスクに利用できます。